1. 程式人生 > >Python圖形程式設計探索系列-05-用控制變數構建對話程式

Python圖形程式設計探索系列-05-用控制變數構建對話程式

跳轉到自己的部落格


控制變數

變數 符號 意義 預設值
1 var = tk.BooleanVar() 布林型 0
2 var = tk.StringVar() 字串控制變數 空字串
3 var = tk.IntVar() 整數控制變數 0
4 var = tk.DoubleVar() 小數控制變數 0.0

建立控制變數

var = StringVar()

設定控制變數的值

var.set("set a value.")

獲得控制變數的值

var.get("get a value from the control parameter.")

控制變數使用例項

import tkinter as tk

root = tk.Tk()

# 建立一個label標籤,在上面存放點陣圖或者文字
labelx = tk.Label(root, bitmap='questhead', compound=tk.LEFT)
var = tk.StringVar()
var.set("This is a dialogue.")
labelx.config(textvariable=var)
labelx.config(bg='cyan')
labelx.config(font=('Times New Roman', 20, 'bold'))
labelx.config(relief=tk.FLAT)
labelx.config(bd=5)

# 點選問題按鈕後,反應的函式
def askvar():
    var.set("How are you?")

# 點選回答按鈕後,反應的函式
def responsevar():
    var.set("I'm fine. Thank you for your asking.")

# 按鈕1建立
button1 = tk.Button(root, text="問題", command=askvar)
button1.config(bg='yellow')
button1.config(font=('楷書', 20, 'italic'))
button1.config(relief=tk.GROOVE)

# 按鈕2建立
button2 = tk.Button(root, text="回答", command=responsevar)
button2.config(bg='red')
button2.config(font=('楷書', 20, 'italic'))
button2.config(relief=tk.RIDGE)

# 對建立的元件進行排兵佈陣
labelx.pack(side=tk.TOP)
button1.pack(side=tk.LEFT)
button2.pack(side=tk.RIGHT)

root.mainloop()

初始執行狀態

點選問題後的反應

點選回答後的反應

總結

程式有了變數才有了心動的地方,blue sky是我們嚮往的地方,但是霧霾Hazel擋住了我們的視野,今天又是陰天,但我有了改變。