Python GUI編程之Tkinter入門

圖形用戶界面(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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LSYE的頭像LSYE
上一篇 2024-10-03 23:48
下一篇 2024-10-03 23:48

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論