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()

**初始运行状态**

![](https://img2018.cnblogs.com/blog/1372901/201810/1372901-20181020154911480-1785193472.jpg)


**点击问题后的反应**

![](https://img2018.cnblogs.com/blog/1372901/201810/1372901-20181020154916039-555176921.jpg)


**点击回答后的反应**

![](https://img2018.cnblogs.com/blog/1372901/201810/1372901-20181020154923787-124371659.jpg)


<h1 style="background:green;">总结</h1>
程序有了变数才有了心动的地方,blue sky是我们向往的地方,但是雾霾Hazel挡住了我们的视野,今天又是阴天,但我有了改变。
posted @ 2018-10-20 15:50  既生喻何生亮  阅读(582)  评论(0编辑  收藏  举报