发布时间:2018-06-06 19:48:43编辑:Run阅读(5008)
TopLevel 与 Frame 类似,但它包含窗体属性(如 Title)
创建简单的Toplevel
代码:
import tkinter as tk root = tk.Tk() t1 = tk.Toplevel() # 为了区别 root 和 tl,我们向 tl 中添加了一个 Label tk.Label(t1, text='hello label').pack() root.mainloop()
效果:
运行结果生成了两个窗体,一个是 root 启动的,另一个则是 Toplevel 创建的,它包含有一个 label;关闭 tl则没有退出程序,Tk 仍旧工作;若关闭 Tk,整个 Tk 结束 tl 也结束,它不能单独存在
设置 Toplevel 的属性
title设置标题
geometry 设置宽和高
代码:
import tkinter as tk root = tk.Tk() t1 = tk.Toplevel() # 设置t1的标题 t1.title('hello Toplevel') # 设置t1的宽和高 t1.geometry('400x300') # 为了区别 root 和 tl,我们向 tl 中添加了一个 Label tk.Label(t1, text='hello label').pack() root.mainloop()
效果:
使用 Toplevel 自己制作提示框
代码:
import tkinter as tk root = tk.Tk() mbyes, mbyesno, mbyesnocancel, mbyesnoabort = 1, 2, 3, 4 # 定义一个消息对话框,依据传入的参数不同,弹出不同的提示信息 def messagebox(): # 没有使用传参 mbtype = mbyesno textshow = 'yesno' if mbtype == mbyes: textshow = 'yes' elif mbtype == mbyesno: textshow = 'yesno' elif mbtype == mbyesnocancel: textshow = 'yesnocancel' elif mbtype == mbyesnoabort: textshow = 'yesnoabort' t1 = tk.Toplevel(height=100, width=300) tk.Label(t1, text=textshow).pack() # 由 Button 来启动这个消息框,因为它使用了空的回调函数,故 messageBox 改为了无参数形式,使用了固定值yesno tk.Button(root, text='click me', command=messagebox).pack() root.mainloop()
效果:
下一篇: tkinter -- Text(1)
47604
45983
36909
34467
29079
25713
24565
19714
19245
17756
5564°
6155°
5690°
5737°
6703°
5482°
5484°
5988°
5965°
7295°