目錄
- 第一步:導入模塊,無需安裝
- 第二步:實現一個窗口
- 第三步:修改窗口名稱
- 第四步:設置窗口大小
- 第五步:獲取當前桌面的尺寸
- 第六步:設置窗口圖標
- 第七步:設置窗口背景顏色
- 第八步:設置窗口透明度
- 第九步:設置頂部工具欄樣式
- 第十步:設置窗口置頂
- 第十一步:獲取tk窗體信息
- 第十二步:添加標簽
- 第十三步:調用事件
- 第十四步:插入圖片
- 完整代碼
第一步:導入模塊,無需安裝
第二步:實現一個窗口
import tkinter
tk=tkinter.Tk()
tk.mainloop()
這樣,我們應該基本的gui窗口就搞定了。接下來,我們給它加點東西,讓它看起來更加獨特。
第三步:修改窗口名稱
第四步:設置窗口大小
tk.geometry("300x150+700+300")
參數:width x height+x+y,
分別對應,窗口 寬,高,以及窗口出現的坐標,
桌面的坐標系:以桌面左上角為(0,0)向右為x軸正半軸,向下為y軸正半軸
設置固定大小:
tk.minsize(560, 545) # 最小尺寸
tk.maxsize(560, 545) # 最大尺寸
設置全屏模式:
tk.attributes("-fullscreen", True)#全屏模式:True 全屏;False 正常顯示
注:全屏模式沒有退出按鈕,關閉可使用win+D最小化才能關閉
第五步:獲取當前桌面的尺寸
有時候我們需要獲取到當前屏幕的大小,來決定我們窗口的大小,那就需要獲取當前屏幕的寬高,如何獲取呢?
w = tk.winfo_screenwidth()#獲取屏幕寬
h = tk.winfo_screenheight()#獲取屏幕高
第六步:設置窗口圖標
tk.iconbitmap('favicon.ico')#設置窗口圖標,將ico放在同級目錄下。
第七步:設置窗口背景顏色
tk["background"] ="#7AC5CD"# 采用16色,或者"blue",顏色名稱
這里,我為大家準備一個網站,供大家選擇顏色。
https://tool.oschina.net/commons?type=3
第八步:設置窗口透明度
tk.attributes("-alpha", 0.6)#設置窗口透明度,透明度的值是:0~1 可以是小數點,0:全透明;1:全不透明
第九步:設置頂部工具欄樣式
tk.attributes("-toolwindow", True)#有退出,可以移動
工具樣式:True 只有退出按鈕,也沒有圖標; False 正常的窗體樣式
如果要將退出按鈕都隱藏呢?
tk.overrideredirect(True)#無退出,不能移動,無工具欄
第十步:設置窗口置頂
tk.attributes("-topmost", True)
窗體置頂:True 所有窗口中處于最頂層;False 正常顯示
使用場景,比如:桌面便簽,需要顯示在最頂層,又不妨礙其他軟件使用。
第十一步:獲取tk窗體信息
# 獲取屏幕的大小;
height = tk.winfo_height()
width = tk.winfo_width()
# 獲取窗體的位置
x = tk.winfo_x()
y = tk.winfo_y()
通常結合.update()使用,獲取窗口改變之后的數據。
我們可以用bind來記錄。
tk.bind("", update_test)#綁定事件
def update_test(e):
tk.update()
# 獲取屏幕的大小;
height = tk.winfo_height()
width = tk.winfo_width()
# 獲取窗體的位置
x = tk.winfo_x()
y = tk.winfo_y()
print(width, height, x, y)
tk.bind("", update_test)
第十二步:添加標簽
tkinter.Label(tk,text='標簽1(0,0)').grid(column=0,row=0)#column表示x,row表示y
那如何來理解這個參數呢?
grid中參數,依然可以把他看做是x,y,當兩個標簽中間沒有數據時,就會自然縮進。
如圖2,其中沒有2,所以就會自動將2省去。
如圖三中,坐標就是確定這些小方格。設置標簽樣式:
tkinter.Label(tk,text='標簽1(0,0)',background='red',font=30,).grid(column=0,row=0)#x,y
tkinter.Label(tk,text='標簽1(1,1)',foreground='red').grid(column=1,row=1)#x,y
background='red'#標簽背景顏色
font=30#字體大小
foreground='red'#字體顏色
第十三步:調用事件
button=Button(tk, text="事件調用", fg="blue",bd=2,width=8,command=update_test).grid(column=1,row=5)
每點擊一次,就調用對應的函數。
第十四步:插入圖片
photo = tkinter.PhotoImage(file="圖片.png")#file:t圖片路徑
imgLabel = tkinter.Label(tk,image=photo).grid(column=1,row=6)#把圖片整合到標簽類中
完整代碼
import tkinter
from tkinter import *
tk=tkinter.Tk()
tk.title("窗口")#設置窗口名稱
tk.geometry("300x150+700+300")
"""width x height+x+y,分別對應,窗口 寬,高,以及窗口出現的坐標
桌面的坐標系:以桌面左上角為(0,0)向右為x軸正半軸,向下為y軸正半軸"""
w = tk.winfo_screenwidth()#獲取屏幕寬
h = tk.winfo_screenheight()#獲取屏幕高
print(w,h)
tk.iconbitmap('favicon.ico')#設置窗口圖標,將ico放在同級目錄下。
# 設置背景色,以“藍色”為例
tk["background"] ="#7AC5CD"# "blue"
tk.attributes("-alpha",1)#設置窗口透明度,透明度的值是:0~1 可以是小數點,0:全透明;1:全不透明
tk.attributes("-toolwindow", True)#有退出,可以移動,工具樣式:True 只有退出按鈕,也沒有圖標; False 正常的窗體樣式
#tk.overrideredirect(True)#無退出,不能移動,無工具欄
#tk.attributes("-fullscreen", True)#全屏模式:True 全屏;False 正常顯示
tk.attributes("-topmost", True)#窗體置頂:True 所有窗口中處于最頂層;False 正常顯示
# 獲取屏幕的大小;
height = tk.winfo_height()
width = tk.winfo_width()
# 獲取窗體的位置
x = tk.winfo_x()
y = tk.winfo_y()
print(width,height,x,y)
def update_test():
tk.update()
# 獲取屏幕的大小;
height = tk.winfo_height()
width = tk.winfo_width()
# 獲取窗體的位置
x = tk.winfo_x()
y = tk.winfo_y()
print(width, height, x, y)
# tk.bind("Configure>", update_test)#綁定事件,窗體的改變事件
tkinter.Label(tk,text='標簽1(0,0)',background='red',font=30,).grid(column=0,row=0)#x,y,設置標簽,grid設置位置
tkinter.Label(tk,text='標簽1(1,1)',foreground='red').grid(column=1,row=1)#x,y
tkinter.Label(tk,text='標簽2').grid(column=4,row=3)
tkinter.Label(tk,text='標簽3').grid(column=3,row=4)
button=Button(tk, text="事件調用", fg="blue",bd=2,width=8,command=update_test).grid(column=1,row=5)#按鈕,添加按鈕事件
photo = tkinter.PhotoImage(file="Figure_1.png")#file:t圖片路徑
imgLabel = tkinter.Label(tk,image=photo).grid(column=1,row=6)#把圖片整合到標簽類中
tk.mainloop()
到此這篇關于上帝給你開了一個窗口之Tkinter常用函數詳解的文章就介紹到這了,更多相關Tkinter常用函數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python用tkinter開發(fā)的掃雷游戲
- python tkinter Entry控件的焦點移動操作
- python3.7.2 tkinter entry框限定輸入數字的操作
- python使用tkinter實現透明窗體
- Python基于Tkinter開發(fā)一個爬取B站直播彈幕的工具
- Python基礎之tkinter圖形化界面學習
- Python實戰(zhàn)之用tkinter庫做一個鼠標模擬點擊器
- python基于tkinter制作m3u8視頻下載工具
- Python中tkinter的用戶登錄管理的實現
- python tkinter實現定時關機