http://chienleebug.blogspot.tw/2017/07/pythonuitkinter.html
[Python]筆記_UI模組(tkinter)
- Python
- 3.6.1
- tkinter(圖形使用者介面套件)
- import tkinter as tk-->載入套件
- 主視窗名稱 = tk.TK()-->建立主視窗
- 主視窗名稱.geometry("寬度"x"高度")-->視窗尺寸
- 主視窗名稱.title("視窗抬頭")-->視窗抬頭
- 元件名稱 = tk.Label(容器名稱,參數1,參數2,....)-->(標籤元件)
- 元件名稱 = tk.Button(容器名稱,參數1,參數2,....)-->(按鈕元件)
- textvariable-->動態取得或設定元件內容
- tk.StringVar()-->資料型態為字串,預設為空字串
- tk.IntVar()-->資料型態為整數,預設為0
- tk.DoubleVar()-->資料型態為浮點數,預設為0.0
- 文字變數.get()-->取元件文字內容
- 文字變數.set(字串)-->設定元件文字內容
- 元件名稱 = tk.Text(容器名稱,參數1,參數2,....)-->(文字區塊)
- 元件名稱.insert(加入型態,字串)
- 加入型態tk.INSERT-->將字串加入文字方塊
- 加入型態tk.END-->將字串加入文字方塊,並結束文字方塊內容
- 元件名稱.config(參數1,參數2,....)-->變更元件設定的參數
- 元件名稱 = tk.Entry(容器名稱,參數1,參數2,....)-->文字編輯元件
- 元件名稱 = tk.Radiobutton(容器名稱,參數1,參數2,....)-->選項按鈕元件
- 元件名稱 = tk.Checkbutton(容器名稱,參數1,參數2,....)-->核取方塊元件
- 元件名稱.pack()-->是將元件視為矩形物件顯示,提供了選項在介面中的位置,選項有:side、expand、fill。
- 元件名稱.grid()-->是將元件使用表格方式顯示,採用行列來確定在介面中的位置,row是行;column是列。
- 元件名稱.place()-->是通過在介面中的橫縱坐標來固定位置。
- 視窗區塊變數 = tk.Frame(容器名稱,參數1,參數2,....)-->視窗區塊
- 主視窗名稱.mainloop()-->進入使用者互動模式
- 範例
- import tkinter as tk
- win=tk.Tk()
- #視窗抬頭名稱
- win.title("Tkinter Demo")
- #視窗小圖檔
- win.iconbitmap('ui.ico')
- #視窗初始尺寸,字串(寬x長+左位移+右位移),例如("450x200+10+10")
- win.geometry("450x200")
- #視窗禁用變更尺寸,參數可寫False或0
- #win.resizable(False, False)
- #視窗最小尺寸
- win.minsize(450,200)
- #視窗最大尺寸
- win.maxsize(900,400)
- #視窗設為Windows風格
- #win.attributes("-toolwindow", 1)
- #視窗設為置頂視窗
- #win.attributes("-topmost", 1)
- #視窗初始最大化
- #win.state("zoomed")
- #視窗初始最小化
- win.iconify()
- #視窗初始還原最小化
- #win.deiconify()
- #視窗背景顏色,可帶入顏色英文或代碼,可參考https://www.toodoo.com/db/color.html
- win.configure(background='#888888')
- def button_click():
- win.title("Demo")
- #建立標籤
- label0 = tk.Label(win, text="Hello Python0!", pady=6,bg="green", fg="#000000", font=("新細明體", 12))
- label0.place(x=0, y=40, width=150, height=40)
- #建立按鈕
- Button0 = tk.Button(win, text="Change Title",command=button_click)
- Button0.place(x=0, y=80, width=150, height=40)
- #建立可放置元件的容器 - frame1
- fram1 = tk.Frame(win)
- fram1.pack()
- #建立標籤1,放入容器 - frame1
- label1 = tk.Label(fram1, text="Hello Python1!", pady=6,bg="green", fg="#000000", font=("新細明體", 12))
- label1.pack()
- #建立按鈕1,放入容器 - frame1
- Button1 = tk.Button(fram1, text="Click1")
- Button1.pack()
- #建立可放置元件的容器 - frame2
- fram2 = tk.Frame(win)
- fram2.pack()
- #建立標籤2,放入容器 - frame2
- label2 = tk.Label(fram2, text="Hello Python2!", pady=6,bg="green", fg="#000000", font=("新細明體", 12))
- label2.pack()
- #建立按鈕2,放入容器 - frame2
- Button2 = tk.Button(fram2, text="Click2")
- Button2.pack()
- win.mainloop()
- 參考資料
- https://twideem.github.io/pages/overcast/19880307A.html
- https://dotblogs.com.tw/larrynung/2013/08/06/113626
- http://khanwhlee.blogspot.tw/2017/02/python-guitkinter-tkinter.html
- http://blog.csdn.net/wangyiyan315/article/details/16821381
沒有留言:
張貼留言