Tkinter
@2024-07-09 如果是简单界面,可以使用,但官方文档不够详细,推荐还是使用 Qt 或者 Kivy
基础知识
tkinter 是 Tk GUI 工具包的 Python 接口,Tk 是一个图形工具包,最初由 Tcl 语言开发。
Tkinter 如何封装 Tcl/Tk
当你的应用程序使用 Tkinter 的类和方法时,Tkinter 内部会组装表示 Tcl/Tk 命令的字符串,并在附加到应用程序的 Tk 实例的 Tcl 解释器中执行这些命令。
如何知道控件(widget)的方法和选项
你可以调用控件的 configure() 方法,它会返回一个字典,包含了组件的所有选项和值。使用 keys() 方法可以查看所有选项的名称。
btn = ttk.Button(frm, ...)
print(btn.configure().keys())你可以用 dir() 函数来查看控件的所有方法。
print(dir(btn))大部分空间有共同的配置选项,如 background, foreground, font, cursor 等。你可以使用下面方法找到特定于某个控件的选项:
print(set(dir(btn)) - set(dir(frm)))Tkinter 模块
我们常用到的主要有 tkinter 模块和 tkinter.ttk 模块。
tkinter 包含的模块有:
Tkinter: Tkinter 的主要模块,包含了所有的类,函数和常量。
tkinter.colorchooser: 颜色选择对话框。
tkinter.commondialog: 通用对话框。
tkinter.filedialog: 文件对话框,允许用户选择文件打开或保存。
tkinter.font: 字体管理。
tkinter.messagebox: 消息框。
tkinter.scrolledtext: 滚动文本框。
tkinter.simpledialog: 简单对话框。
tkinter.ttx: 扩展的控件集合,在 TK8.5 之后可用。
Tkinter Widgets 控件
Button 按钮
w = Button ( master, option=value, ... )
实测 MAC 下按钮的默认样式是平面的,而且没有浮雕效果,也无法设置背景色,只能设置前景色。
(为了效果的一致性,推荐还是用图片来代替)
master: 父容器。text: 按钮上的文本。command: 点击按钮时调用的函数。state: 按钮的状态,可以是NORMAL,ACTIVE,DISABLED。(ACTIVE 状态是鼠标悬停在按钮上时的状态)relief: 按钮的样式(浮雕效果),可以是FLAT,RAISED,SUNKEN,GROOVE,RIDGE。分别表示:平面、凸起、凹陷、凸起边框、凹陷边框。
underline: 按钮文本中的下划线字符的索引。
MessageBox 消息框
messagebox.FunctionName(title, message [, options])
FunctionName: 可以是
showinfo,showwarning,showerror,askquestion,askokcancel,askyesno,askretrycancel。title: 消息框的标题。
message: 消息框的内容。
options: 可选参数。
icon: 图标类型,可以是
ERROR,INFO,QUESTION,WARNING。type: 消息框类型,可以是
ABORTRETRYIGNORE,OK,OKCANCEL,RETRYCANCEL,YESNO,YESNOCANCEL。default: 默认按钮,可以是
ABORT,RETRY,IGNORE,OK,CANCEL,YES,NO.parent: 父窗口。detail: 详细信息。
