上一篇:Python —(十八)Tkinter窗口组件:PanedWindow
The Tkinter Toplevel Widget
##简介
Toplevel(顶级窗口)组件类似于 Frame 组件,但 Toplevel 组件是一个独立的顶级窗口,这种窗口通常拥有标题栏、边框等部件。
##何时使用 Toplevel 组件?
Toplevel 组件通常用在显示额外的窗口、对话框和其他弹出窗口上。
##用法
下边例子中,我们在 root 窗口添加一个按钮用于创建一个顶级窗口,点一下来一个:
from tkinter import *
root = Tk()
def create():
top = Toplevel()
top.title("Monster")
msg = Message(top,text="bageyalu,silasiladi")
msg.pack()
Button(root,text="创建顶级窗口",command=create).pack()
mainloop()
(解析:现在root窗口里搞一个按钮,当按下按钮时,就会触发create方法创建一个Toplevel窗口,然后Toplevel窗口可以设置自己的title,因为他是一个独立的窗口,它拥有标题,接着可以在这个窗口里面设置文本消息
然后运行成功后,可以一直创建,一直点一直创建,而他们之间还是互相独立的一个窗口,但是呢他们都是源自于这个root窗口,当root窗口已关闭,他们都同时关闭了)
然后关于Toplevel窗口和Tk跟窗口的方法,他们有非常多的方法,这里说个attributes(*args),设置和获取窗口的属性,如果你只给出选项名,将返回当前窗口该选项的值,如果选项后面跟值就是取设置这个值,但是这个选项和普通的选项又不太一样,不是说选项名等于这个值就可以了,有个要求就是选项前必须加个小横杠并且用字符串的形式把他包起来,然后用逗号隔开,后边是选项的值,
下面举个设置alpha选项的例子。alpha就是设置他的透明度
更多方法详情可以到Toplevel顶级窗口和Tk根窗口方法汇总去查看
##参数
Toplevel(master=None, **options) (class)
master – 父组件
**options – 组件选项,下方表格详细列举了各个选项的具体含义和用法:
选项 | 含义 |
background | 1. 设置背景颜色 2. 默认值由系统指定 3. 为了防止更新,可以将颜色值设置为空字符串 |
bg | 跟 background 一样 |
borderwidth | 设置边框宽度 |
bd | 跟 borderwidth 一样 |
class_ | 默认值是 Toplevel |
colormap | 1. 有些显示器只支持 256 色(有些可能更少),这种显示器通常提供一个颜色映射来指定要使用要使用的 256 种颜色 2. 该选项允许你指定用于该组件以及其子组件的颜色映射 3. 默认情况下,Toplevel 使用与其父组件相同的颜色映射 4. 使用此选项,你可以使用其他窗口的颜色映射代替(两窗口必须位于同个屏幕并且具有相同的视觉特性) 5. 你也可以直接使用 "new" 为 Toplevel 组件分配一个新的颜色映射 6. 一旦创建 Toplevel 组件实例,你就无法修改这个选项的值 |
container | 1. 该选项如果为 True,意味着该窗口将被用作容器,一些其它应用程序将被嵌入 2. 默认值是 False |
cursor | 1. 指定当鼠标在 Toplevel 上飘过的时候的鼠标样式 2. 默认值由系统指定 |
height | 设置高度 |
highlightbackground | 指定当 Toplevel 没有获得焦点的时候高亮边框的颜色 |
highlightcolor | 指定当 Toplevel 获得焦点的时候高亮边框的颜色 |
highlightthickness | 指定高亮边框的宽度 |
menu | 设置该选项为 Toplevel 窗口提供菜单栏 |
padx | 水平方向上的边距 |
pady | 垂直方向上的边距 |
relief | 1. 指定边框样式 2. 默认值是 "flat" 3. 另外你还可以设置 "sunken","raised","groove" 或 "ridge" 4. 注意,如果你要设置边框样式,记得设置 borderwidth 或 bd 选项不为 0,才能看到边框 |
takefocus | 1. 指定该组件是否接受输入焦点(用户可以通过 tab 键将焦点转移上来) 2. 默认值是 False |
width | 设置宽度 |