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中使用HTMLParser解析HTML的教程
Apr 29 Python
Python中threading模块join函数用法实例分析
Jun 04 Python
Python制作简易注册登录系统
Dec 15 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
python实现字符串完美拆分split()的方法
Jul 16 Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 Python
pyinstaller还原python代码过程图解
Jan 08 Python
关于初始种子自动选取的区域生长实例(python+opencv)
Jan 16 Python
tensorflow自定义激活函数实例
Feb 04 Python
python有几个版本
Jun 17 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 Python
使用python-cv2实现视频的分解与合成的示例代码
Oct 26 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
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
python进阶教程之词典、字典、dict
2014/08/29 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
Python使用plotly绘制数据图表的方法
2017/07/18 Python
python机器学习之决策树分类详解
2017/12/20 Python
Python中的pack和unpack的使用
2018/03/12 Python
python 异或加密字符串的实例
2018/10/14 Python
python获取array中指定元素的示例
2019/11/26 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
一套Java笔试题
2016/08/20 面试题
2013年大学生的自我鉴定
2013/10/24 职场文书
中学教师岗位职责
2013/11/26 职场文书
网络宣传方案
2014/03/15 职场文书
企业文化口号
2014/06/12 职场文书
学困生转化工作总结
2015/08/13 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js