tkinter——Python GUI設計——主窗口

主窗口

  GUI設計的所有部件均在主窗口上顯示,因此在創建各部件之前需要先創建主窗口。在此需要使用的函數爲:

class Tkinter.Tk(screenName=None, baseName=None, className='Tk', useTk=1)

該函數將Tkinter.Tk類實例化,通常使用時不用帶參數,該語句創建窗口通常作爲應用程序的主窗口。

例如:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import tkinter as tk  # 使用Tkinter前需要先導入
 
# 第1步,實例化object,建立窗口window
window = tk.Tk()
 
# 第2步,給窗口的可視化起名字
window.title('My Window')
 
# 第3步,設定窗口的大小(*)
window.geometry('500x300')  # 這裏的乘是小x

# 第4步,主窗口循環顯示
window.mainloop()

  Tkinter.Tk類實例化爲window後,可以通過指定的函數對窗口的屬性進行修改:

函數 含義
window.title(‘My Window’) 修改框體的名字。也可在創建Tkinter.Tk類時,使用className參數來命名
window.resizable(0,0) 框體大小可調性,分別表示x,y方向的可變性
window.geometry(‘250x150’) 指定主框體大小
window.quit() 退出
window.update_idletasks()
window.update() 刷新頁面(界面顯示一次後直接退出結束程序)
window.mainloop() 窗口循環顯示(一直循環顯示,直到窗口被關閉)
window.iconbitmap(“classic.ico”)
window.config(background = “pink”)
window.resizable(False,False) 窗口的高度和寬度是否可變
window.minsize(100,100) 窗口的最小縮放
window.maxsize(600,333) 窗口最大縮放
window.overrideredirect(True)
window.attributes("-alpha",0.9) 設置窗口的透明度,1爲不透明,0爲完全透明
window.protocol(“WM_DELETE_WINDOW”,call) 查看資料ICCCM
window.protocol(“WM_TAKE_FOCUS”,call)
window.attributes("-toolwindow",1) 設置爲toolwindow/topmost模式
window.state(“zoomed”) 啓動窗口最大化
window.withdraw() 窗口隱藏,取消用deiconify()方法
window.iconify() 窗口最小化
window.deiconify() 還原窗口
window.attributes("-fullscreen",1) 坑爹的全屏呀,到底有多坑,試試你才知道!!!
友情提示:Alt+Tab可以切換到其他應用後關閉
window.winfo_screenwidth()
window.winfo_screenheight()
獲得屏幕分辨率
window.frame() 返回X窗口的標示符或者是當前窗口的句柄
window.grid(baseWidth =100,baseHeight =100,
widthInc =4,heightInc=4)
basewidth和baseheight指定Tk_geometryrequest要求的網格單元數
widthInc和heightIn指定網格單元的寬度和高度(像素)’’’
window.group() 將窗口添加到窗口羣中,括號內的參數爲窗口的路徑,用來指定主窗口
window.state(“iconic”) 括號裏面的參數還可以是"withdrawn"(隱藏窗口,運行後看不到窗口且任務欄也沒有提醒,慎用),“icon”(最小化窗口,運行後窗口直接縮小到任務欄)
window.iconwindow()

  參照上表,將透明度設置爲0.1,效果如下

圖中右邊虛影爲主題框。

  window.protocol(“WM_DELETE_WINDOW”,call)用法如下,在使用時需要定於一個回調函數“call”,當用戶關閉界面點擊“關閉”時,系統會自動調用“call”函數,且此時界面不會被關閉。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import tkinter as tk  # 使用Tkinter前需要先導入
 
# 第1步,實例化object,建立窗口window
window = tk.Tk()
 
# 第2步,給窗口的可視化起名字
window.title('My Window')
 
# 第3步,設定窗口的大小(*)
window.geometry('500x300')  # 這裏的乘是小x

def call():
    print("call")

window.protocol("WM_DELETE_WINDOW",call)

# 第4步,主窗口循環顯示
window.mainloop()

效果如下:

其他功能函數不再演示,有需要的可以自行嘗試~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章