Python 官方文档:入门教程 => 点击学习
TopLevel 与 Frame 类似,但它包含窗体属性(如 Title)创建简单的Toplevel代码:import tkinter as tk root = tk.Tk() t1&nbs
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()
效果:
--结束END--
本文标题: tkinter -- Toplevel
本文链接: https://lsjlt.com/news/179103.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0