Board logo

標題: 圖形介面 (一) - tkinter簡介 [打印本頁]

作者: tonyh    時間: 2023-5-27 14:30     標題: 圖形介面 (一) - tkinter簡介

tkinter為Python內建的GUI(圖形化使用者介面)函式庫,它提供的視窗元件一覽如下:

類別                 說明
------------------------------------
Button             按鈕
Canvas            長方形區域
Checkbutton    核取按鈕
Entry               文字輸入欄
Frame              視窗區塊
Label               文字標籤
LabelFrame      文字標籤視窗
Listbox            列表選單
Menu               選單列的下拉式選單
MenuButton     選單的選項
Message          類似Label,可多行。
OptionMenu     下拉式的選項選單
PaneWindow    類似Frame,可包含其他視窗元件。
Radiobutton     單選按鈕
Scale               拉桿
Scrollbar          捲軸
Spinbox           微調器
Text                文字方塊
Toplevel           新增視窗

  1. import tkinter as tk
  2. win=tk.Tk()
  3. win.title("主視窗")
  4. #win.geometry("500x500")  #設定視窗大小,但意義不大,因一般習慣以排版方法(pack、grid、place)來佈局
  5. win.resizable(0,0)    #可使用 1/0 或 True/False 來設定
  6. lb=tk.Label(win,bg="#FFFF77",fg="red",text="Hello World!",font=("微軟正黑體",16),
  7.             width=20,height=3,anchor="ne").pack(padx=10,pady=10)   #pack方法預設是由上而下排版
  8. win.mainloop()  #使程式進入互動模式,等待使用者觸發事件後進行處理
複製代碼
屬性     說明
------------------------------------------------------------
bg       設定背景顏色
fg        設定文字顏色
text     設定文字內容
font     設定文字字體與大小,譬如:font=("Courier",16,"italic")
width   設定元件寬度
height  設定元件高度
anchor 設定元件位置基準點,有:center、n、s、w、e、nw、nw、sw、se
padx    設定元件與容器(或其他元件)的水平間距
pady    設定元件與容器(或其他元件)的垂直間距
side     設定元件在容器中的位置,有:top、bottom、left、right

排版方法    說明
-------------------------------------------------------------------------
pack        打包,讓各個部件依pack順序由上至下、也可指定左右或特定位置放置。
grid         網格,建立欄列二維矩陣行列,並運用列row、欄column位置指定各個部件的布局。
place       定位,直接指定各個部件X及Y軸之絕對或相對位置。
作者: 王捷恩    時間: 2023-5-27 15:11

  1. import tkinter as tk
  2. win=tk.Tk()
  3. win.title("主視窗")
  4. win.resizable(0,0)
  5. lb=tk.Label(win,bg="#FFFF77",fg="red",text="Hello World!",font=("Times New Roman",16,"bold","italic"), width=20,height=3,anchor="ne").pack(padx=10,pady=10)  
  6. win.mainloop()
複製代碼

作者: 李沛昂    時間: 2023-5-27 15:21

  1. import tkinter as tk
  2. win=tk.Tk()
  3. win.title("主視窗")
  4. win.resizable(1,1)
  5. lb=tk.Label(win,bg="#FFFF77",fg="red",text="Hello World!",font=("微軟正黑體",16),
  6.             width=20,height=3,anchor="ne").pack(padx=10,pady=10)
  7. win.mainloop()
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2