相关文章推荐

因為 Google Colab 不支援 tkinter,所以請 使用本機環境 ( 參考: 使用 Python 虛擬環境 ) 或 使用 Anaconda Jupyter 進行實作 ( 參考: 使用 Anaconda )。

建立 tkinter 視窗

tkinter 是 Python 的內建函式庫,只要 import tkinter 就能使用,下方的程式碼執行後,會 使用 Tk() 方法建立 tkinter 視窗物件,接著使用 mainloop() 將其放在主迴圈中一直執行 ,直到使用者關閉該視窗才會停止運作。

import tkinter as tk
root = tk.Tk()   # 建立 tkinter 視窗物件
root.mainloop()  # 放在主迴圈中

設定視窗標題、圖示

使用 title 可以設定視窗標題,iconbitmap 設定視窗圖示 ( Windows 限定,格式 .ico ),如果是 Mac 則可使用 tk.call 方法設定應用程式圖示。

import tkinter as tk
root = tk.Tk()
root.title('oxxo.studio')        # 設定標題
root.iconbitmap('favicon.ico')  # 設定 icon ( 格式限定 .ico )
# 如果是 Mac 使用下面這行,可以使用 gif 或 png
# root.tk.call('wm', 'iconphoto', root._w, tk.PhotoImage(file='icon.gif'))
root.mainloop()

設定視窗長寬與位置

使用 geometry 方法定義視窗的「尺寸和位置」,下方的程式碼使用字串格式化的方法,將寬、高、左上座標提供給尺寸位置表達式,除了提供完整的尺寸與位置,也可以不提供尺寸、不提供位置或不提供尺寸位置,如果沒有提供尺寸與位置,視窗則會使用預設值顯示

import tkinter as tk
root = tk.Tk()
root.title('oxxo.studio')
width = 600
height = 400
left = 0
top = 0
root.geometry(f'{width}x{height}+{left}+{top}')  # 定義視窗的尺寸和位置
root.mainloop()

如果要將視窗置中顯示,可先運用 winfo_screenwidth() 和 winfo_screenheight() 方法取得電腦螢幕長寬尺寸,經過數學計算後,就能將視窗置中顯示。

import tkinter as tk
root = tk.Tk()
root.title('oxxo.studio')
window_width = root.winfo_screenwidth()    # 取得螢幕寬度
window_height = root.winfo_screenheight()  # 取得螢幕高度
width = 600
height = 400
left = int((window_width - width)/2)       # 計算左上 x 座標
top = int((window_height - height)/2)      # 計算左上 y 座標
root.geometry(f'{width}x{height}+{left}+{top}')
root.mainloop()

設定視窗最大寬度和高度

使用 minsize 方法可以設定視窗的「最小」長寬尺寸,使用 maxsize 則可以設定視窗的「最大」長寬尺寸。

import tkinter as tk
root = tk.Tk()
root.title('oxxo.studio')
root.minsize(200, 200)    # 設定視窗最小為 200x200
root.maxsize(500, 500)    # 設定視窗最大為 500x500
root.mainloop()

設定視窗是否可縮放

使用 resizable 方法可以設定視窗是否可以縮放,resizable 包含兩個參數,分別是 x 方向與 y 方向,設定 True 表示可以縮放,設定 False 表示不能縮放。

import tkinter as tk
root = tk.Tk()
root.title('oxxo.studio')
root.resizable(False, False)   # 設定 x 方向和 y 方向都不能縮放
root.mainloop()

設定視窗背景色

設定視窗 configure 裡的 background,就能設定視窗的背景色,背景色可以使用十六進位的色碼,也可以輸入顏色的名稱,例如紅色 red、黑色 black...等。

import tkinter as tk
root = tk.Tk()
root.title('oxxo.studio')
root.configure(background='#000')   # 設定背景色黑色
root.mainloop()
          

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

 
推荐文章