Python Tkinter实例——模拟掷骰子


Posted in Python onOctober 24, 2020

什么是Tkinter?

Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。

由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、适合初学者入门、小型应用的开发 。简单的代价就是功能薄弱了,有相当多的需求需要依赖其他的库。不像PyQT、wxPython这些功能强大的框架。

需要导入的模块

  • Tkinter:建立图形界面
  • Random:生成随机数
  • Image,Imagetk:从PIL导入,即Python Imaging Library。我们使用它来执行涉及UI中图像的操作
import tkinter
from PIL import Image, ImageTk
import random

创建主程序窗口

# 创建主窗口
root = tkinter.Tk()
root.geometry('400x400')
root.title('掷骰子')

Python Tkinter实例——模拟掷骰子

如图所示,创建了一个图形界面窗口

在窗口中添加图像显示区域

# 图片文件
dice = ['die1.png', 'die2.png', 'die3.png', 'die4.png', 'die5.png', 'die6.png']
# 使用随机数模拟骰子并生成图像
diceimage = ImageTk.PhotoImage(Image.open(random.choice(dice)))

label1 = tkinter.Label(root, image=diceimage)
label1.image = diceimage
# 放置在窗口中 
label1.pack(expand=True)

现在我们每次运行程序将得到一个随机骰子点数的图像

说明

expand声明为true,即使调整窗口大小,图像也始终保留在中心

创建按钮,模拟掷骰子

# 添加按钮所实现的功能
def rolling_dice():
  diceimage = ImageTk.PhotoImage(Image.open (random.choice(dice)))
  # 更新图片
  label1.configure(image=diceimage)
  label1.image = diceimage

# 添加按钮 设置按钮样式 实现上面所定义的功能
button = tkinter.Button(root, text='掷骰子', fg='red', command=rolling_dice)
# 放置在窗口中
button.pack( expand=True)

Python Tkinter实例——模拟掷骰子

总结:

非常简单的小程序,适合初学者入门。 

以上就是Python Tkinter实例——模拟掷骰子的详细内容,更多关于Python Tkinter的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python Socket编程详细介绍
Mar 23 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
python实时分析日志的一个小脚本分享
May 07 Python
详解Python核心对象类型字符串
Feb 11 Python
在pycharm上mongodb配置及可视化设置方法
Nov 30 Python
python实现windows壁纸定期更换功能
Jan 21 Python
在Python中通过getattr获取对象引用的方法
Jan 21 Python
pycharm中显示CSS提示的知识点总结
Jul 29 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
Feb 03 Python
keras 如何保存最佳的训练模型
May 25 Python
Python图像处理库PIL详细使用说明
Apr 06 Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 #Python
python 下划线的不同用法
Oct 24 #Python
python 写一个性能测试工具(一)
Oct 24 #Python
Django admin组件的使用
Oct 24 #Python
Python数据可视化常用4大绘图库原理详解
Oct 23 #Python
Python+OpenCV图像处理——实现轮廓发现
Oct 23 #Python
python 带时区的日期格式化操作
Oct 23 #Python
You might like
ajax缓存问题解决途径
2006/12/06 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
2018/10/12 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
Python处理Excel文件实例代码
2017/06/20 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
基于Python函数和变量名解析
2019/07/19 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
python实现Oracle查询分组的方法示例
2020/04/30 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
亿企通软件测试面试题
2012/04/10 面试题
中学生自我评价范文
2014/02/08 职场文书
《胖乎乎的小手》教学反思
2014/02/26 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
我的理想演讲稿
2014/04/30 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP