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 pickle 和 shelve模块的用法
Sep 16 Python
零基础写python爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
python查询sqlite数据表的方法
May 08 Python
Python2中文处理纪要的实现方法
Mar 10 Python
python set内置函数的具体使用
Jul 02 Python
Django REST Framework之频率限制的使用
Sep 29 Python
pyinstaller还原python代码过程图解
Jan 08 Python
python如何实现复制目录到指定目录
Feb 13 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
Python根据字典的值查询出对应的键的方法
Sep 30 Python
Python 中random 库的详细使用
Jun 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
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
使表格的标题列可左右拉伸jquery插件封装
2014/11/24 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
Electron vue的使用教程图文详解
2019/07/05 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
python中stdout输出不缓存的设置方法
2014/05/29 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
Python箱型图处理离群点的例子
2019/12/09 Python
Pygame的程序开始示例代码
2020/05/07 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
财务人员个人自荐信范文
2013/09/26 职场文书
清明节扫墓活动方案
2014/03/02 职场文书
建筑工地质量标语
2014/06/12 职场文书
基层党员对照检查材料
2014/08/25 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
2014年测量员工作总结
2014/12/12 职场文书