圖形用戶界面(Graphical User Interface,簡稱GUI)是人與計算機之間產生交互的重要手段,它通過圖形化的方式來呈現信息和數據,更加直觀的展現計算機應用程序的數據和處理流程。Tkinter是Python語言自帶的,用於創建GUI應用的標準Python庫。
一、Tkinter的基本使用
1、安裝Python以及Tkinter庫
>>> # 檢查Python版本和是否已安裝Tkinter庫
>>> import tkinter
>>> tkinter._test()
2、構建GUI應用程序的基本框架
>>> import tkinter as tk
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> window.mainloop() # 運行窗口
3、向窗口中添加控制項,比如Label、Button、Entry等等
>>> import tkinter as tk
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> lbl = tk.Label(window, text='Hello, Tkinter!', font=('Arial', 12)) # 添加標籤
>>> lbl.pack() # 將標籤添加到窗口中並自適應大小
>>> btn = tk.Button(window, text='Click me!', width=10, height=2, command=None) # 添加按鈕
>>> btn.pack() # 將按鈕添加到窗口中並自適應大小
>>> window.mainloop() # 運行窗口
二、Tkinter的布局管理
1、使用pack方法進行布局
>>> import tkinter as tk
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> lbl1 = tk.Label(window, text='Hello, Tkinter!', font=('Arial', 12)) # 添加標籤
>>> lbl1.pack(side='top') # 將標籤添加到窗口頂部
>>> lbl2 = tk.Label(window, text='Welcome to Tkinter!', font=('Arial', 12)) # 添加標籤
>>> lbl2.pack(side='bottom') # 將標籤添加到窗口底部
>>> btn = tk.Button(window, text='Click me!', width=10, height=2, command=None) # 添加按鈕
>>> btn.pack(side='left') # 將按鈕添加到窗口左側
>>> window.mainloop() # 運行窗口
2、使用grid方法進行布局
>>> import tkinter as tk
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> for i in range(3):
for j in range(3):
tk.Label(window, text='%d,%d' % (i, j), width=10, height=2, bg='white').grid(row=i, column=j)
tk.mainloop()
三、Tkinter的事件綁定
1、使用command參數進行事件綁定
>>> import tkinter as tk
>>> def show_info():
print('Hello, Tkinter!')
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> btn = tk.Button(window, text='Click me!', width=10, height=2, command=show_info) # 添加按鈕並綁定事件
>>> btn.pack() # 將按鈕添加到窗口中並自適應大小
>>> window.mainloop() # 運行窗口
2、使用bind方法進行事件綁定
>>> import tkinter as tk
>>> def show_info(event):
print('Hello, Tkinter!')
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> lbl = tk.Label(window, text='Hello, Tkinter!', font=('Arial', 12)) # 添加標籤
>>> lbl.pack() # 將標籤添加到窗口中並自適應大小
>>> lbl.bind('', show_info) # 綁定標籤的左鍵單擊事件
>>> window.mainloop() # 運行窗口
四、Tkinter的常用控制項
1、Label控制項:用於展示文本、圖片等信息
>>> import tkinter as tk
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> lbl1 = tk.Label(window, text='Hello, Tkinter!')
>>> lbl1.pack()
>>> img = tk.PhotoImage(file='path/to/image.png')
>>> lbl2 = tk.Label(window, image=img)
>>> lbl2.pack()
>>> window.mainloop()
2、Button控制項:用於響應用戶點擊事件
>>> import tkinter as tk
>>> def show_info():
print('Hello, Tkinter!')
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> btn1 = tk.Button(window, text='Click me!', command=show_info)
>>> btn1.pack()
>>> btn2 = tk.Button(window, text='Exit', command=window.destroy)
>>> btn2.pack()
>>> window.mainloop()
3、Entry控制項:用於獲取用戶輸入信息
>>> import tkinter as tk
>>> def show_info():
print(entry.get())
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> entry = tk.Entry(window)
>>> entry.pack()
>>> btn = tk.Button(window, text='Click me!', command=show_info)
>>> btn.pack()
>>> window.mainloop()
五、Tkinter的樣式配置
1、使用config方法進行樣式配置
>>> import tkinter as tk
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> lbl = tk.Label(window, text='Hello, Tkinter!')
>>> lbl.config(fg='blue', bg='yellow', font=('Arial', 12))
>>> btn = tk.Button(window, text='Click me!')
>>> btn.config(width=10, height=2, fg='white', bg='green')
>>> entry = tk.Entry(window)
>>> entry.config(width=20, font=('Arial', 12))
>>> window.mainloop()
2、使用style方法進行樣式配置
>>> import tkinter as tk
>>> from tkinter import ttk
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> style = ttk.Style()
>>> style.configure('TLabel', foreground='blue', background='yellow', font=('Arial', 12))
>>> style.configure('TButton', width=10, height=2, foreground='white', background='green')
>>> style.configure('TEntry', width=20, font=('Arial', 12))
>>> lbl = ttk.Label(window, text='Hello, Tkinter!')
>>> lbl.pack()
>>> btn = ttk.Button(window, text='Click me!')
>>> btn.pack()
>>> entry = ttk.Entry(window)
>>> entry.pack()
>>> window.mainloop()
六、Tkinter的常用功能
1、消息對話框的使用
>>> import tkinter as tk
>>> from tkinter import messagebox
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> def show_info():
messagebox.showinfo('消息提示', 'Hello, Tkinter!')
>>> btn = tk.Button(window, text='Click me!', command=show_info)
>>> btn.pack()
>>> window.mainloop()
2、文件對話框的使用
>>> import tkinter as tk
>>> from tkinter import filedialog
>>> window = tk.Tk() # 創建窗口
>>> window.title('Python GUI應用') # 設置窗口標題
>>> window.geometry('400x300') # 設置窗口大小
>>> def open_file():
file_path = filedialog.askopenfilename(filetypes=[('All Files', '*.*')])
print(file_path)
>>> btn = tk.Button(window, text='Open file', command=open_file)
>>> btn.pack()
>>> window.mainloop()
原創文章,作者:LSYE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/131882.html