# 導入tk
from tkinter import *
# 創建一個主視窗物件
window = Tk()
# 調用mainloop()顯示主視窗
window.mainloop()
視窗常用方法
下表列出了視窗的常用方法,其中 window 代表主視窗物件:
函數 |
說明 |
window.title("my
title") |
接受一個字串參數,為視窗起一個標題 |
window.resizable() |
是否允許使用者拉伸主視窗大小,預設為可更改,當設置為 resizable(0,0)或者resizable(False,False)時不可更改 |
window.geometry() |
設定主視窗的大小以及位置,當參數值為 None 時表示獲取視窗的大小和位置資訊。 |
window.quit() |
關閉當前窗口 |
window.update() |
刷新當前窗口 |
window.mainloop() |
設置視窗主迴圈,使視窗迴圈顯示(一直顯示,直到視窗被關閉) |
window.iconbitmap() |
設置視窗左上角的圖示(圖示是.ico檔案類型) |
window.config(background
="red") |
設置視窗的背景色為紅色,也可以接受 16 進制的顏色值 |
window.minsize(50,50) |
設置視窗被允許調整的最小範圍,即寬和高各50 |
window.maxsize(400,400) |
設置視窗被允許調整的最大範圍,即寬和高各400 |
window.attributes("-alpha",0.5) |
用來設置視窗的一些屬性,比如透明度(-alpha)、是否置頂(-topmost)即將主屏置於其他圖示之上、是否全屏(-fullscreen)全屏顯示等 |
window.state("normal") |
用來設置視窗的顯示狀態,參數值 normal(正常顯示),icon(最小化),zoomed(最大化), |
window.withdraw() |
用來隱藏主視窗,但不會銷毀視窗。 |
window.iconify() |
設置視窗最小化 |
window.deiconify() |
將視窗從隱藏狀態還原 |
window.winfo_screenwidth() |
獲取電腦螢幕的解析度(尺寸) |
window.winfo_width() |
獲取視窗的大小,同樣也適用於其他控制項,但是使用前需要使用 window.update() 刷新螢幕,否則返回值為1 |
window.protocol("協議名",回呼函數) |
啟用協定處理機制,常用協定有 WN_DELETE_WINDOW,當使用者點擊關閉視窗時,視窗不會關閉,而是觸發回呼函數。 |
window =tk.Tk()
#設置視窗title
window.title('Python Tkinter')
#設置視窗大小:寬x高,注,此處不能為 "*",必須使用 "x"
window.geometry('450x300')
# 獲取電腦螢幕的大小
print("電腦的解析度是%dx%d"%(window.winfo_screenwidth(),window.winfo_screenheight()))
# 要求視窗的大小,必須先刷新一下螢幕
window.update()
print("窗口的解析度是%dx%d"%(window.winfo_width(),window.winfo_height()))
# 如使用該函數則視窗不能被拉伸
# window.resizable(0,0)
# 改變背景顏色
window.config(background="#6fb765")
# 設置視窗處於頂層
window.attributes('-topmost',True)
# 設置視窗的透明度
window.attributes('-alpha',1)
# 設置視窗被允許最大調整的範圍,與resizble()衝突
window.maxsize(600,600)
# 設置視窗被允許最小調整的範圍,與resizble()衝突
window.minsize(50,50)
#更改左上角視窗的的icon圖示,載入C語言中文網logo標
window.iconbitmap('tsmc.ico')
#添加文本內容,並對字體添加相應的格式 font(字體,字型大小,"字體類型")
text=tk.Label(window,text="alex9uo Python,網址:https://alex9ufoexploer.blogspot.com/",bg="yellow",fg="red",font=('Times', 15, 'bold italic underline'))
#將文本內容放置在主視窗內
text.pack()
# 添加按鈕,以及按鈕的文本,並通過command 參數設置關閉視窗的功能
button=tk.Button(window,text="關閉",command=window.quit)
# 將按鈕放置在主視窗內
button.pack(side="bottom")
#進入主迴圈,顯示主視窗
window.mainloop()
from tkinter import Tk
# 導入 對話方塊控制項
from tkinter import messagebox
# 創建主窗口
# 定義回呼函數,當使用者點擊視窗x退出時,執行使用者自訂的函數
def QueryWindow():# 顯示一個警告資訊,點擊確後,銷毀視窗
if messagebox.showwarning("警告","出現了一個錯誤"):
# 這裡必須使用 destory()關閉視窗
root.destroy() # 这里必须使用 destory()关闭窗口
root = Tk()
# 使用協定機制與視窗交互,並回檔使用者自訂的函數
root.protocol('WM_DELETE_WINDOW', QueryWindow)
root.mainloop()
import tkinter as tk
# 定義窗口
window = tk.Tk()
window.title('alex9ufo Python')
window.geometry('300x300')
window.iconbitmap('t1.ico')
# 定義回呼函數
def callback():
print("執行回呼函數","https://alex9ufoexploer.blogspot.com/歡迎您")
# 點擊執行按鈕
button = tk.Button(window, text="執行", command=callback)
button.pack()
window.mainloop()
>>> %Run L1-04.py
執行回呼函數 https://alex9ufoexploer.blogspot.com/歡迎您
import tkinter as tk
window = tk.Tk()
window.title('alex9ufo Python')
window.iconbitmap('TSMC.ico')
# 设置窗口大小变量
width = 300
height = 300
# 窗口居中,获取屏幕尺寸以计算布局参数,使窗口居屏幕中央
screenwidth = window.winfo_screenwidth()
screenheight = window.winfo_screenheight()
size_geo = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2)
window.geometry(size_geo)
window.mainloop()
沒有留言:
張貼留言