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使用socket向客户端发送数据的方法
Apr 29 Python
python单元测试unittest实例详解
May 11 Python
Python数组遍历的简单实现方法小结
Apr 27 Python
Python实现按学生年龄排序的实际问题详解
Aug 29 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
python numpy存取文件的方式
Apr 01 Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 Python
python实现七段数码管和倒计时效果
Nov 23 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
Django缓存Cache使用详解
Nov 30 Python
python中_del_还原数据的方法
Dec 09 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中for与foreach的区别分析
2011/03/09 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
PHP小教程之实现链表
2014/06/09 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
express 项目分层实践详解
2018/12/10 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
pandas中的series数据类型详解
2019/07/06 Python
python中selenium库的基本使用详解
2020/07/31 Python
元旦晚会感言
2014/03/12 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
个人批评与自我批评
2014/10/15 职场文书
学习保证书怎么写
2015/02/26 职场文书
2016公司年会通知范文
2015/04/25 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
运动会报道稿大全
2015/07/23 职场文书