python-GUI图形界面之Tkinter(对话框及文件打包.exe)

目录

colorchooser颜色选择对话框

filedialog文件对话框

下拉列表及滑块

simpledialog简单内容对话框

mnessagebox通用消息对话框

ttk子模块控件


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系统中使用即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值