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处理中文编码和判断编码示例
Feb 26 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
Apr 25 Python
python字符串对其居中显示的方法
Jul 11 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
python 基础教程之Map使用方法
Jan 17 Python
python获取指定时间差的时间实例详解
Apr 11 Python
python2.7实现爬虫网页数据
May 25 Python
django 消息框架 message使用详解
Jul 22 Python
python根据时间获取周数代码实例
Sep 30 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
Mar 24 Python
Python json读写方式和字典相互转化
Apr 18 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 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使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
浅谈编码,解码,乱码的问题
2016/12/30 Python
Python中查看文件名和文件路径
2017/03/31 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
Python中Numpy mat的使用详解
2019/05/24 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
Html5元素及基本语法详解
2016/08/02 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
今冬明春火灾防控工作方案
2014/05/29 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers