Toplevel(顶级窗口)组件类似于 Frame 组件,但 Toplevel 组件是一个独立的顶级窗口,这种窗口通常拥有标题栏、边框等部件。
何时使用 Toplevel 组件?
Toplevel 组件通常用在显示额外的窗口、对话框和其他弹出窗口上。
用法
下边例子中,我们在 root 窗口添加一个按钮用于创建一个顶级窗口,点一下来一个:
import tkinter as tk
root = tk.Tk()
def create():
top = tk.Toplevel()
top.title("Python")
msg = tk.Message(top, text="I love Python!")
msg.pack()
tk.Button(root, text="创建顶级窗口", command=create).pack()
root.mainloop()
想要几个就点几下:
参数
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 | 设置宽度 |
Toplevel 组件和 Tk(根窗口)是一个级别的,关于 Tk(根窗口)和 Toplevel(顶级窗口)的方法汇总可以查阅: