Python_tkinter_Toplevel

Toplevel

顶层部件的工作,直接由窗口管理器管理的窗口

thinter.Toplevel ( option, ... )

具有以下属性

background(bg)  窗口的背景颜色。
borderwidth(bd) 边框宽度(以像素为单位)默认为0。
cursor          当鼠标在此窗口中时出现的光标。
class_          通常,文本窗口小部件中选择的文本将导出为窗口管理器中的选择。如果您不想要该行为,请设置exportselection = 0。
font            插入窗口小部件的文本的默认字体。
froeground(fg)  在窗口小部件中用于文本(和位图)的颜色。您可以更改标记区域的颜色; 这个选项只是默认值。
height          窗口高度
relief          通常,顶级窗口将不会有三维边框。要获得阴影边框,请将bd选项设置为较大的默认值为零,并将relief选项设置为其中一个常量。
width           所需的窗口宽度。

具有以下方法

deiconify()             在使用iconify或提取方法后显示窗口。
frame()                 返回系统特定的窗口标识符。
groupwindow           将窗口添加到给定窗口管理的窗口组中。
iconify()               将窗口转换为图标,而不会破坏它。
协议(名称,函数)        将函数注册为将为给定协议调用的回调函数。
iconify()               将窗口转换为图标,而不会破坏它。
state()                 返回窗口的当前状态。可能的值是正常的,标志性的,撤销的和图标。
transient[master]     当没有给出参数时,将窗口转换为给定主机或窗口的父级的临时(瞬态)窗口。
withdraw()              从屏幕中删除窗口,而不会破坏它。
maxsizewidthheight)   定义此窗口的最大大小。
minsizewidthheight)   定义此窗口的最小大小。
positionfromwho)        定义位置控制器。
resizablewidthheight) 定义resize标志,用于控制窗口是否可以调整大小。
sizefromwho           定义大小控制器。
titlestring           定义窗口标题。

注意:通过Toplevel创建一个子窗口,root创建一个主窗口。关闭tl则没有退出程序,Tk仍旧工作;若关闭Tk,整个Tk结束tl也结束,它不能单独存在。

EG1:

from tkinter import *

root = Tk()
root.title("比艾提1")
tl = Toplevel()
tl.title("比艾提2")
#运行结果生成了两个窗体,一个是root启动的,另一个则是Toplevel创建的,它包含有一个label;关闭tl
#则没有退出程序,Tk仍旧工作;若关闭Tk,整个Tk结束tl也结束,它不能单独存在
Label(root,text="hello label").pack()

实行结果:

Python_tkinter_Toplevel_第1张图片

EG2:

from tkinter import *

root = Tk()
root.title("主窗口")
tl = Toplevel()
tl.title("hello world")
tl.geometry("400x300")
Label(tl, text="hello python").pack()
root.mainloop()

实行结果:

Python_tkinter_Toplevel_第2张图片

EG3:

from tkinter import *

root = Tk()
level_A, level_B, level_C, level_D = "A", "B", "C", "D"
# 定义一个消息对话框,依据传入的参数不同,弹出不同的提示信息
def get_Entry():
    en = e.get()
    MessageBox(int(en))
def MessageBox(en):  # 没有使用使用参数
    grade = en
    if grade >= 90:
        textShow = 'A'
    elif grade > 80:
        textShow = 'B'
    elif grade >60:
        textShow = 'C'
    elif grade >0:
        textShow = 'D'
    tl = Toplevel(height=200, width=400)
    Label(tl, text=textShow).pack()
# 由Button来启动这个消息框,因为它使用了回调函数调用get_Entry获取用户输入的成绩,在调用MessageBox函数判断等级进行打印

Button(root, text='click me',command=get_Entry).pack()
e = Entry(root)
e.pack(side=RIGHT)
root.mainloop()

实行结果:

Python_tkinter_Toplevel_第3张图片

Python_tkinter_Toplevel_第4张图片

Python_tkinter_Toplevel_第5张图片

EG4:

# 循环创建顶级窗口
from tkinter import *
def creattoplevel():
    t = Toplevel(root)
    Label(t,text="这是顶级窗口").pack()
root = Tk()
root.minsize(200,200)
Button(root,text="创建顶级窗口",command=creattoplevel).pack()
root.mainloop()

实行结果:

Python_tkinter_Toplevel_第6张图片

Python_tkinter_Toplevel_第7张图片

 

你可能感兴趣的:(tkinter)