Tkinter學習 一 之Toplevel(1)

2021-06-26 00:04:55 字數 1554 閱讀 6064

tkinter帶了很多控制項,各種控制項間的關係我現在還不太清楚,只是看起來toplevel是裡面最頂層的視窗,所以就從它學起好了。

toplevel用起來就像是個可以定製不同顯示樣式的視窗,主視窗本身就是乙個toplevel,而我們又可以在主視窗外新增額外的視窗,可以把不同功能的控制項分到不同視窗上,也可以用來當彈窗使用。像其它button、label這類的小控制項,在建立時總需要傳入乙個視窗,這個toplevel剛好就可以拿來當這些小控制項的容器。

試了書裡介紹的幾種不同的toplevel,跑起來是下面這樣的:

其中,主視窗一關其它小視窗就關掉了;child toplevel是最普通的乙個子視窗,什麼特色都沒有;藍色背景的那個視窗不帶邊框、無法拖拽移動;最後乙個視窗(transiente window)介面上沒其它特色,不過當主視窗縮小時,它會跟著一起縮小,而像child toplevel這種的則不會一起縮小;

賦上測試用的**片段:

# -*- coding: utf-8 -*-

import tkinter

if __name__ == "__main__":

root = tkinter.tk()

root.title('generate project packages - gui')

root.option_readfile('optiondb')

# default fonts and colors」 on page 49.

tkinter.label(root, text='this the main(default) root toplevel').pack(padx=5, pady=10)

tl_child = tkinter.toplevel(root)

tkinter.label(tl_child, text='this is the child toplevel').pack(padx=10, pady=15)

tl_trasident = tkinter.toplevel(root)

tkinter.label(tl_trasident, text='this is a transient window of root').pack(padx=20, pady=20)

tl_trasident.transient(root)

tl_overrideredirect = tkinter.toplevel(root, borderwidth=5, bg='blue')

tkinter.label(tl_overrideredirect, text='this is "no wm decorations" window', bg='blue', fg='white').pack(padx=25,pady=25)

tl_overrideredirect.overrideredirect(1)

tl_overrideredirect.geometry('200x70+250+250')

root.mainloop()

猜數字之tkinter

import random import tkinter import tkinter.messagebox defb clicked if name entry.get tkinter.messagebox.showerror title error message 請輸入使用者名字 else c...

Tkinter 之ProgressBar進度條標籤

一 引數說明 引數作用 cursor 滑鼠位於進度條內時的形狀 length 進度條長度 maximum 進度條最大刻度值 mode 進度條的模式。有兩種 determinate 和 indeterminate orient 進度條的方向,有horizontal 和vertical兩種 style ...

tkinter之listbox列表控制項

listbox列表控制項 import tkinter as tk window tk.tk window.title my window 設定視窗的名字 window.geometry 240x260 設定視窗大小 var1 tk.strin ar 設定變數 l tk.label window,b...