[TOC]
目錄:
1.窗體的最小框架
2.窗體的基本設置
3.窗體的外形設置
(一)窗體的最小框架
1.說明:
需要導入標准庫: import tkinter
2.源代碼:
# 導入模塊,並取別名
import tkinter as tk
# 實例化一個窗體對象
win = tk.Tk()
# 設置窗體的大小(300x300),與出現的位置距離窗體左上角(+150+150)
win.geometry("300x300+150+150")
# 進入消息循環,顯示窗體
win.mainloop()
3.實現效果:
(二)窗體的基本設置
1.說明:
(1)添加標題:
# 設置標題 win.title("標題")
(2)添加圖標:
圖標:必須是以 .ico 為后綴的圖標文件,放於同目錄下。
# 設置圖標,以QQ頭為例 win.iconbitmap("app.ico")
(3)添加背景:
顏色:可以用英文名,也可以用RGU,十六進制表示的顏色。
# 設置背景色,以“藍色”為例 win["background"] = "blue"
2.完整代碼:
# 導入模塊,並去別名
import tkinter as tk
# 實例化一個窗體對象
win = tk.Tk()
# 設置窗體的大小(300x300),與出現的位置距離窗體左上角(+150+150)
win.geometry("300x300+150+150")
# 設置標題
win.title("標題")
# 設置圖標,以QQ頭為例
win.iconbitmap("app.ico")
# 設置背景色,以“藍色”為例
win["background"] = "blue"
# 進入消息循環,顯示窗體
win.mainloop()
3.實現效果:
(三)窗體的外形設置
1.說明:
(1)設置透明度:
透明度的值是:0~1 可以是小數點,0:全透明;1:全不透明
win.attributes("-alpha", 0.6)
(2)設置工具欄樣式:
工具樣式:True 只有退出按鈕,也沒有圖標; False 正常的窗體樣式
win.attributes("-toolwindow", True)
透明度與工具欄的效果圖:
(3)設置全屏:
全屏模式:True 全屏;False 正常顯示
win.attributes("-fullscreen", True)
(4)設置窗體置頂
窗體置頂:True 所有窗口中處於最頂層;False 正常顯示
win.attributes("-topmost", True)
(5)設置成脫離工具欄
脫離工具欄:True 沒有工具欄按鈕;False 正常顯示
win.overrideredirect(True)
脫離工具欄的效果圖:
2.完整代碼:
# 導入模塊,並去別名
import tkinter as tk
# 實例化一個窗體對象
win = tk.Tk()
# 設置窗體的大小(300x300),與出現的位置距離窗體左上角(+150+150)
win.geometry("300x300+150+150")
# 設置標題
win.title("標題")
# 設置圖標,以QQ頭為例
win.iconbitmap("app.ico")
# 設置背景色,以“藍色”為例
win["background"] = "blue"
# 設置透明度
win.attributes("-alpha", 0.6)
# 設置窗口為工具樣式:
win.attributes("-toolwindow", True)
# # 設置全屏:
win.attributes("-fullscreen", False)
# 設置窗體置頂
win.attributes("-topmost", True)
# 設置成脫離工具欄
win.overrideredirect(False)
# 進入消息循環,顯示窗體
win.mainloop()
3.實現效果:
(四)窗體的三個方法:
1.獲取屏幕的大小
(1)語法說明:
# 獲取屏幕的大小; screen_height = root.winfo_screenheight() screen_width = root.winfo_screenwidth()
####(2)源代碼:
import tkinter as tk
root = tk.Tk()
# 獲取屏幕的大小;
screen_height = root.winfo_screenheight()
screen_width = root.winfo_screenwidth()
print("你電腦的屏幕的高度是:", screen_height)
print("你電腦的屏幕的寬度度是:", screen_width)
root.mainloop()
(3)輸出結果:
2.獲取窗體的大小
(1)語法說明:
# 獲取屏幕的大小; win_height = root.winfo_height() win_width = root.winfo_width()
需要注意的是:要用root.update()方法,才能看到更新后的數值
(2)源代碼:
import tkinter as tk
root = tk.Tk()
root.geometry("600x500")
# 更新窗體
root.update()
# 獲取屏幕的大小;
win_height = root.winfo_height()
win_width = root.winfo_width()
print("控件的高度是:", win_height)
print("控件的寬度度是:", win_width)
root.mainloop()
(3)輸出結果:
3.獲取窗體的位置
(1)語法說明:
# 獲取窗體的位置 win_x = win.winfo_x() win_y = win.winfo_y()
(2)源代碼:
import tkinter as tk
win = tk.Tk()
win.geometry("600x500")
def change(event):
win.update()
# 獲取窗體的位置
win_x = win.winfo_x()
win_y = win.winfo_y()
print(win_x)
print(win_y)
# 綁定事件,窗體的改變事件
win.bind("<Configure>", change)
win.mainloop()
(3)輸出結果:
當我用鼠標拖動窗體時,更新了一系列的位置數值