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访问纯真IP数据库的代码
May 19 Python
python通过正则查找微博@(at)用户的方法
Mar 13 Python
理解Python中的With语句
Mar 18 Python
深入浅析Python中join 和 split详解(推荐)
Jun 30 Python
Python引用类型和值类型的区别与使用解析
Oct 17 Python
Python 查看文件的读写权限方法
Jan 23 Python
Python pygorithm模块用法示例【常见算法测试】
Aug 16 Python
Python django框架应用中实现获取访问者ip地址示例
May 17 Python
python找出因数与质因数的方法
Jul 25 Python
python集成开发环境配置(pycharm)
Feb 14 Python
pycharm通过anaconda安装pyqt5的教程
Mar 24 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
jquery简易手风琴插件的封装
2020/10/13 jQuery
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
美国著名手表网站:Timepiece
2017/11/15 全球购物
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
PHP面试题及答案二
2015/05/23 面试题
文职个人求职信范文
2013/09/23 职场文书
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
区级文明单位申报材料
2014/05/15 职场文书
病危通知单
2015/04/17 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
Python如何导出导入所有依赖包详解
2021/06/08 Python
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
vue中data里面的数据相互使用方式
2022/06/05 Vue.js