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中使用select模块实现非阻塞的IO
Feb 03 Python
python版本的读写锁操作方法
Apr 25 Python
谈谈如何手动释放Python的内存
Dec 17 Python
Python输出带颜色的字符串实例
Oct 10 Python
python使用fork实现守护进程的方法
Nov 16 Python
Python中的二维数组实例(list与numpy.array)
Apr 13 Python
python实现简易内存监控
Jun 21 Python
Python使用pandas处理CSV文件的实例讲解
Jun 22 Python
Numpy 中的矩阵求逆实例
Aug 26 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
Python configparser模块操作代码实例
Jun 08 Python
python中upper是做什么用的
Jul 20 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
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
jquery中ajax学习笔记3
2011/10/16 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
2013/12/29 Javascript
jQuery基础语法实例入门
2014/12/23 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
微信上传视频文件提示(推荐)
2018/11/22 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
python有证书的加密解密实现方法
2014/11/19 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
台湾三立电视电商平台:电电购
2019/09/09 全球购物
班主任工作经验材料
2014/02/02 职场文书
模范家庭事迹材料
2014/02/10 职场文书
节约能源标语
2014/06/17 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
清明节主题班会
2015/08/14 职场文书