[Python]使用tkinter套件設計圖性化UI介面-製作標籤Label、按鈕Button、文字Text元件

文、意如

看完本文以後你能學習到:

一、基本視窗建立
二、元件使用-屬性設定
    2-1設定Lable屬性
    2-2設定Button屬性
    2-3 設定Text 屬性
三、動態文字設定
一、基本視窗建立

程式碼解析:

#匯入tkinter套件取別名為tk
import tkinter as tk
#建立一個視窗
newwin = tk.Tk()
#設定視窗大小
newwin.geometry("700x300")
#設定視窗標題
newwin.title("視窗的標題打在這")
#設定視窗屬性
#第一個帶入的參數是用來指定寬度大小是否可供縮放調整
#第二個則是用來指定高度大小是否可供縮放調整。
newwin.resizable(False,False)
#設定視窗背景
newwin.configure(background='#888888')
#當使用者操作時更新介面
newwin.mainloop()

完整程式碼:

import tkinter as tk
newwin = tk.Tk()
newwin.geometry("700x300")
newwin.title("視窗的標題打在這")
newwin.resizable(False,False)
newwin.configure(background='#888888')
newwin.mainloop()

執行後會自動跳出一個700*300的灰色視窗

 

Python GUI for lccnet lesson img1

 

 

二、元件使用-屬性設定

程式碼解析:

#匯入tkinter套件,取別名為tk
import tkinter as tk
#建立一個視窗
yrwin = tk.Tk()
#設定視窗大小
yrwin.geometry("700x300")
#設定視窗標題
yrwin.title("myname")
2-1 設定Lable屬性
#(文字、字體、大小、背景顏色、文字顏色、元件lable高度、元件lable寬度)
yrlabel=tk.Label(
yrwin,text="哈囉 world !!",
font=("標楷體",10),
bg="blue",
fg="yellow",
width=100, height=2)

#把設定好的Label放進視窗中
yrlabel.pack()
2-2 設定Button屬性
#文字、字體、大小、背景顏色、文字顏色、元件lable高度、元件Button寬度
yrbtn=tk.Button(yrwin,
text="歡迎光臨",
bg="green",
font=("新細明體",15)
,width=100, height=2)

#把設定好的Button放進視窗中
yrbtn.pack()
#當使用者操作時更新介面
yrwin.mainloop()

完整程式碼:

import tkinter as tk
yrwin = tk.Tk()
yrwin.geometry("700x300")
yrwin.title("myname")

yrlabel=tk.Label(yrwin,text="哈囉 world !!",font=("標楷體",10),bg="blue",fg="yellow",width=100, height=2)
yrlabel.pack() #把設定好的Label放進視窗中

yrbtn=tk.Button(yrwin,text="歡迎光臨",bg="green",font=("新細明體",15),width=100, height=2)
yrbtn.pack()

yrwin.mainloop()

 

Python GUI for lccnet lesson img2

 

 

2-3 設定Text 屬性

程式碼解析:

#匯入tkinter套件,取別名為tk
import tkinter as tk
#建立一個視窗
yrwin = tk.Tk()
#設定視窗大小
yrtext=tk.Text(yrwin)
#新增視窗內的文字
yrtext.insert(tk.INSERT,"第一行的文字內容,\n")
yrtext.insert(tk.INSERT,"第二行的文字\n")
yrtext.insert(tk.END,"最後一行的文字。")

#設定唯讀狀態、無法輸入(可選填)
#yrtext.config(state=tk.DISABLED)
#把設定好的文字text放進視窗中
yrtext.pack()
#當使用者操作時更新介面
yrwin.mainloop()

完整程式碼:

import tkinter as tk
yrwin = tk.Tk()
yrtext=tk.Text(yrwin)
yrtext.insert(tk.INSERT,"第一行的文字內容,\n")
yrtext.insert(tk.INSERT,"第二行的文字\n")
yrtext.insert(tk.END,"最後一行的文字。")

yrtext.config(state=tk.DISABLED)
yrtext.pack()
yrwin.mainloop()

 

Python GUI for lccnet lesson img3

 

 

三、動態文字設定

首先認識常用的參數:

用來設定動態按鈕文字使用:textvariable
變數是字串使用:tk.StringVar()
變數是整數使用:tk.IntVar()
變數是小數點使用:tk.Double()
抓取動態變數使用:變數.get()
設定動態變數使用:變數.set(字串)
使用者按下時可呼叫方法:command
實作範例:點按鈕以後(改變按鈕內文字)

 

Python GUI for lccnet lesson img4

 

 

點按鈕以後(改變按鈕內文字)

 

Python GUI for lccnet lesson img5

 

Q:什麼字全世界通用?

A:阿拉伯數字

 

 

程式碼解析:

 

#寫一個功能answer1用來儲存按鈕的文字,呼叫此功能時更新文字
def answer1():
    yrvar.set("阿拉伯數字")

#匯入tkinter套件,取別名為tk
import tkinter as tk

#建立tk視窗
yrwin=tk.Tk()

#設定文字為動態的
yrvar= tk.StringVar()

#設定按鈕,點選按鈕時呼叫answer1 功能,改變文字
yrbtn=tk.Button(yrwin,textvariable=yrvar,command=answer1)

#設定預設按鈕文字
yrvar.set("什麼字全世界通用?")

#把設定好的Button放進視窗中
yrbtn.pack()

#當使用者操作時更新介面
yrwin.mainloop()

完整程式碼:

def answer1():
    yrvar.set("阿拉伯數字")

import tkinter as tk

yrwin=tk.Tk()
yrvar= tk.StringVar()
yrbtn=tk.Button(yrwin,textvariable=yrvar,command=answer1)
yrvar.set("什麼字全世界通用?")
yrbtn.pack()
yrwin.mainloop()


 

Yiru@Studio - 關於我 - 意如