目录
colorchooser颜色选择对话框
from tkinter import * from tkinter.colorchooser import * root = Tk() root.title() root.geometry('500x300+300+400') def choose(): s = askcolor(color='yellow', title='选择一个自己需要的颜色') print(s) # 打印结果:((22.0859375, 252.984375, 3.01171875), '#16fc03') ,分别是RGB和HSV颜色模型 show['text'] = s Button(root, text='选择颜色', command=choose).pack() show = Label(root,width=50, height=20) show.pack() root.mainloop()
filedialog文件对话框
文件对话框帮助我们实现可视化的操作目录、操作文件。最后,将文件、目录的信息传入到程序中。文件对话框包含如下一些常用函数:
from tkinter.filedialog import * root = Tk() root.title() root.geometry('500x300+300+400') def getname(): f = askopenfilename(title='上传文件', initialdir='d:', filetypes=[('文本文件', '.txt')]) print(f) show['text'] = f # 获得文件目录 Button(root, text='请选择文件', command=getname).pack() show = Label(root, width=50, height=20) show.pack() root.mainloop()
下拉列表及滑块
from tkinter import * root = Tk() root.title() root.geometry('500x300+300+400') # OptionMenu下拉列表 v = StringVar(root) v.set('请选择') om = OptionMenu(root, v, '悟空', '悟能', '悟净', '小白龙', '唐唐') om['width'] = 10 # 设置列表宽度 om.pack() def de(event): # 通过滑动设置下拉选择框的宽度 size = s1.get() om['width'] = size om['bg'] = '#33{}ff'.format(int(size * 1.5) + 10) s1 = Scale(root, from_=5, to=50, length=200, resolution=2, tickinterval=5, orient=HORIZONTAL, digits=2, command=de) s1.pack() s1.set(50) # 设置初始值 root.mainloop()
滑块功能参数
- from_:设置最大值 # 注意from_的使用方式,在其后添加了"_",避免与关键字from的冲突
- to:设置最小值
- resolution:设置步距值(拖动时移动的步长)
- orient:HORIZONTAL # 设置水平方向,默认不设置时为垂直方向排布
- tickinterval:进度条显示的间距步长
- digits:显示的位数,包括小数点
simpledialog简单内容对话框
参数
- title 表示窗口标题
- prompt 是提示信息
- 命名参数
- kw为各种选项: initialvalue ( 初始值)、minvalue (最小值)、maxvalue ( 最大值)
from tkinter.simpledialog import * root = Tk() root.title() root.geometry('500x300+300+400') def ask(): a = askstring(title = '请输入你的姓名',prompt='姓名') b = askinteger(title = '请输入你的年龄',prompt='年龄',initialvalue = 18,minvalue = 0, maxvalue = 150) # askfloat() 同上 show['text'] = '姓名:%s\n年龄:%s'%(a,b) Button(root, text='个人信息', command=ask).pack() show = Label(root, width=50, height=20) show.pack() root.mainloop()
mnessagebox通用消息对话框
mnessagebox用于和用户简单的交互,用户点击确定、取消。messagebox 的常见函数
ttk子模块控件
tkinter模块下的组件整体风格较老。为了弥补这点不足,推出了ttk组件。ttk 组件更加关观、功能更加强大。新增 了LabeledScale( 带标签的Scale)、Notebook( 多文档窗口)、Progressbar( 进度条)、Treeview(数)等组件。
使用ttk 组件与使用普通的Tkinter 组件并没有多大的区别,只要导入ttk 模块即可。
文件打包
1、打包命令:pyinstaller-F 打包文件名
2、相关参数:
- --icon=图标路径( pyinstaller -F -icon=my.ico XXX.py)
- -F打包成一个exe文件
- -w使用窗口,无控制台
- -c使用控制台,无窗口
- -D创建一个目录,里面包含exe以及其他一些依赖性文件
3、在项目的dist目录下可以看到生成了exe文件,直接在windows系统中使用即可。