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找出那些被“标记”的照片
Apr 20 Python
python在线编译器的简单原理及简单实现代码
Feb 02 Python
python获取代理IP的实例分享
May 07 Python
python 定时器,轮询定时器的实例
Feb 20 Python
Python3几个常见问题的处理方法
Feb 26 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
python3.6生成器yield用法实例分析
Aug 23 Python
python画图常规设置方式
Mar 05 Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
Jun 15 Python
在 Python 中使用 MQTT的方法
Aug 18 Python
简述 Python 的类和对象
Aug 21 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获取提交内容的实现方法
2016/05/25 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
转换字符串为json对象的方法详解
2013/11/29 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
python中子类继承父类的__init__方法实例
2016/12/15 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
Python如何调用外部系统命令
2019/08/07 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
python圣诞树编写实例详解
2020/02/13 Python
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
初中政治教学反思
2014/01/17 职场文书
平安建设实施方案
2014/03/19 职场文书
我的求职择业计划书
2014/04/04 职场文书
慰问敬老院活动总结
2014/04/26 职场文书
小学数学教学随笔
2015/08/14 职场文书
小学教师教学随笔
2015/08/14 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python