標籤:取值 除了 label 定義 唯讀 normal float 檔案 max
#-- tkinter 一個跨平台的GUI庫,對圖形庫TK的封裝 可在win,linux或者mac下運行
import tkinter
# linux用命令進行tkinter安裝 sudo apt-get install python3-tk(python3-tk)
root = tkinter.Tk()
root.title(‘網格布局‘)
root.minsize(300,300)
root.resizable(False,False)
# 從這寫內容 #
root.mainloop()
#-- tkinter 布局
pack() 方位布局
place() 座標布局
grid() 網格布局
"""
padx/pady 組件外部在x(y)方向上填充的空間大小,預設單位為像素
ipadx/ipady 組件內部在x(y)方向上填充的空間大小,預設單位為像素
anchor : “n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center”(預設“center”) 控制組件方位
"""
#pack 屬性
ipadx=10,ipady=10,padx=20,pady=100,anchor="ne"
#place 絕對屬性
x = 20,y = 20,width = 50,height = 50
#place 相對屬性
relx = 0.05,rely = 0.05,relwidth = 0.2,relheight = 0.2
#grid 屬性
row = 3,column = 0,ipadx = 50,ipady = 10,padx = 10,pady = 10,columnspan = 2 rowspan = 2
=======================================================
import tkinter
# 產生一個視窗對象
root = tkinter.Tk()
# 設定視窗的標題
root.title("這是一個視窗")
# 設定視窗的大小
root.minsize(300,300) # 最小視窗大小
root.maxsize(600,600) # 最大視窗大小
# root.resizable(False,False) # 將視窗大小固定
# pack 方位布局
# ipadx 橫向填充 ipady 縱向填充
# anchor:e s w n ne nw se sw(預設center) 代表方位
"""
btn1 = tkinter.Button(text="1")
btn1.pack(ipadx=10,ipady=10,padx=10,pady=10)
btn2 = tkinter.Button(text="2")
btn2.pack(idapx=10,idapy=10,padx=10,pady=10)
"""
# side屬性:lef right top bottom
"""
btn1 = tkinter.Button(text="1")
btn1.pack(ipadx=10,ipady=10,padx=10,pady=10,side="left")
btn2 = tkinter.Button(text="2")
btn2.pack(ipadx=10,ipady=10,padx=10,pady=10,side="left")
"""
# place 座標布局
"""
(1) 絕對布局
(2) 相對布局
x,y是座標 width,height是寬度和高度
"""
# place (絕對布局)
"""
btn1 = tkinter.Button(text="1")
btn1.place(x=20,y=20,width=50,height=50)
btn3 = tkinter.Button(text="3")
btn3.place(x=160,y=20,width=50,height=50)
btn5 = tkinter.Button(text="5")
btn5.place(x=90,y=90,width=50,height=50)
btn7 = tkinter.Button(text="7")
btn7.place(x=20,y=160,width=50,height=50)
btn9 = tkinter.Button(text="9")
btn9.place(x=160,y=160,width=50,height=50)
"""
# place(相對布局)
"""
btn2 = tkinter.Button(text="2")
btn2.place(relx=0.3,rely=0.05,relwidth=0.2,relheight=0.2)
btn4 = tkinter.Button(text="4")
btn4.place(relx=0.05,rely=0.3,relwidth=0.2,relheight=0.2)
btn6 = tkinter.Button(text="6")
btn6.place(relx=0.55,rely=0.3.relwidth=0.2,relheight=0.2)
btn8 = tkinter.Button(text="8")
btn8.place(relx=0.3,rely=0.55,relwidth=0.2,relheight=0.2)
"""
# gird 網格布局
"""
btn1 = tkinter.Button(text="1")
btn1.grid(row=0,column=0,ipadx=10,ipady=10,padx=10,pady=10)
btn2 = tkinter.Button(text="1")
btn2.grid(row=0,column=1,ipadx=10,ipady=10,padx=10,pady=10)
btn3 = tkinter.Button(text="1")
btn3.grid(row=0,column=2,ipadx=10,ipady=10,padx=10,pady=10)
"""
# columnspan 列合并(左右合并)
# rowspan 行合并(上下合并)
"""
btn0 = tkinter.Button(text="0")
btn0.grid(row=3,column=0,ipadx=120,ipady=10,padx=10,pady=10,columnspan=3)
btn_echo = tkinter.Button(text="=")
btn_echo.grid(row=0,column=3,ipadx=10,ipady=120,padx=10,pady=10,rowspam=3)
"""
# frame
frame1 = tkinter.Frame(root,width=300,heght=50,bg="red")
frame1.pack(pady=5)
btn1 = tkinter.Button(frame1,text="1")
btn1.pack(side="left",ipadx=5,ipady=10)
btn2 = tkinter.Button(frame1,text="2")
btn2.pack(side="left",ipadx=5,ipady=10)
btn3 = tkinter.Button(frame1,text="3")
btn3.pack(side="left",ipadx=5,ipady=10)
# 固定顯示視窗 (涉及隊列)
root.mainloop()
"""
pack 方位布局
參數:ipadx ipady padx pady anchor side
place 座標布局
絕對布局參數:x y padx pady
相對布局參數:relx rely relwidth relheight
gird 網格布局
參數:row column ipadx ipady padx pady rowspan columnspan
"""
=======================================================
#Frame 屬性
#--劃分頁面
frame1 = tkinter.Frame(root,height = 50,width = 300)
frame1.pack_propagate(0) # 按照原定義寬高分布,不會隨著其中內容的改變而改變
frame1.pack(pady = 10)
#在第一個frame中擺放組件
btn = tkinter.Button(frame1,text = ‘1‘).pack(side = ‘left‘,padx = 20)
#--各種組件
"""
公用屬性:
text 設定文字
bg 背景色
fg 前景色彩
bd 邊框
width 寬度
height 高度
anchor 按鈕中的文字方位 e s w n nw ne sw se 預設center
font 類型[,大小,粗細,斜體] 例: font= (‘黑體‘,20,‘bold‘,‘italic‘)
command 點擊按鈕後觸發的動作(函數)
變數.set(參數) 設定值
變數.get() 擷取值
"""
#--基本按鈕 button
"""
button屬性:
state 設定狀態 disabled 不能用 normal 正常
"""
#--選擇按鈕 Checkbutton
"""
Checkbutton 屬性:
variable 指定變數
onvalue 選中值
offvalue 沒選中值
0值在哪代表預設狀態是什麼(選中 沒選中)
tkinter.IntVar() tkinter.StringVar() 建立變數方式整型或字串
"""
#--選項按鈕 Radiobutton
"""
#justify 設定內建多行文字的對其方式 left center right
"""
#--普通文字框 Entry
"""
#密碼框 show 設定密碼數框的覆蓋符號
#設定變數textvariable:字串 StringVar 整形IntVar 浮點型DoubleVar 布爾值BooleanVar 先設定變數在文字框
#selectbackground 設定選中內容的背景色 selectforeground 選中內容的前景色彩
#state 設定狀態 disabled 不能用 normal 正常 readonly 唯讀
"""
#--多行文本 Text
"""
多行文本 除了show與普通文字框屬性一致
"""
#--標籤組件Label
"""
標籤組件Label 除了show和選中設定 與普通文字框屬性一致
"""
#--菜單組件
allmenu = tkinter.Menu()
#添加分割線
edit.add_separator()
#向子功能表中添加選項卡
edit = tkinter.Menu(tearoff = 0)
edit.add_command(label = ‘退出‘,command = demo)
#將子功能表加入總菜單
allmenu.add_cascade(menu = edit,label = ‘編輯‘)
#擺放總菜單
root.config(menu = allmenu)
#--訊息框 messagebox
"""
屬性:message title
"""
messagebox:
showinfo 顯示資訊對話方塊
showwarning 提示警告對話方塊
showerror 顯示錯誤對話
askquestion 問題對話方塊
askokcancel 確定還是取消對話方塊
askyesno 是不是對話方塊
askretrycancel 重試或者取消對話方塊
#--簡易對話方塊simpledialog
"""
屬性:title ,prompt,initialvalue
"""
simpledialog:
askstring 字串對話方塊
askinteger 整形對話方塊
askfloat 浮點數對話方塊
#--檔案對話方塊filedialog
filedialog:
#askopenfilename 請求檔案名稱對話方塊
#askdirectory 請求檔案夾對話方塊
#asksaveasfilename 儲存檔案對話方塊
"""
title = ‘請選擇檔案儲存路徑‘,
initialdir = ‘/‘,
initialfile = ‘預設檔案名稱‘,
filetypes =((‘文字檔‘,‘*.txt‘),(‘word檔案‘,‘*.doc‘),(‘任意檔案‘,‘*.*‘))
"""
#--最上層視窗 toplevel
#withdraw 關閉視窗
#iconify 隱藏視窗
#deiconify 顯示視窗
Python_物件導向_tkinter庫