前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tkinter -- Toplevel

tkinter -- Toplevel

作者头像
py3study
发布2018-08-03 10:32:57
1.2K0
发布2018-08-03 10:32:57
举报
文章被收录于专栏:python3

TopLevel 与 Frame 类似,但它包含窗体属性(如 Title)

创建简单的Toplevel

代码:

代码语言:javascript
复制
import tkinter as tk
root = tk.Tk()
t1 = tk.Toplevel()
# 为了区别 root 和 tl,我们向 tl 中添加了一个 Label
tk.Label(t1, text='hello label').pack()
root.mainloop()

效果:

blob.png
blob.png

运行结果生成了两个窗体,一个是 root 启动的,另一个则是 Toplevel 创建的,它包含有一个 label;关闭 tl则没有退出程序,Tk 仍旧工作;若关闭 Tk,整个 Tk 结束 tl 也结束,它不能单独存在

设置 Toplevel 的属性

title设置标题

geometry 设置宽和高

代码:

代码语言:javascript
复制
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()

效果:

blob.png
blob.png

使用 Toplevel 自己制作提示框

代码:

代码语言:javascript
复制
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()

效果:

blob.png
blob.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档