跳转到自己的博客


控制变量

变量 符号 意义 默认值
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挡住了我们的视野,今天又是阴天,但我有了改变。

Python图形编程探索系列-05-用控制变量构建对话程序的更多相关文章

  1. Python图形编程探索系列-09-tkinter与matplotlib结合案例

    案例1 案例来自于:https://bbs.csdn.net/topics/390326088 代码示例: import matplotlib matplotlib.use('TkAgg') from ...

  2. Python图形编程探索系列-07-程序登录界面设计

    设计任务 初步设计程序登录界面,详细分析设计步骤. 程序详细分析 基本框架设计 import tkinter as tk import tkinter.messagebox root = tk.Tk( ...

  3. Python图形编程探索系列-04-网上图片与标签组件的结合

    跳转到自己的博客 任务设定 任务:从网上找到一张图片,然后将其显示在标签上? 网上图片网站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.j ...

  4. Python图形编程探索系列-03-标签组件(Label)

    跳转到自己的博客 tkinter.Label介绍 什么是标签? 通俗的将就相当于word的功能,能够进行显示不可修改的文字.图片或者图文混排. 直观体会一下 图1 背景图构成:内容区(黑色),填充区( ...

  5. Python图形编程探索系列-08-再次认识标签

    标签的各种属性 代码展示: import tkinter as tk root = tk.Tk() root.geometry = '500x300' label1 = tk.Label(root, ...

  6. Python图形编程探索系列-06-按钮批量生产函数

    设计任务 初步设计一个批量生产按钮的函数,根据需要的按钮数量,自动生成多少按钮. 函数设计 import tkinter as tk # 导入tkinter库 root = tk.Tk() # 建立程 ...

  7. Python图形编程探索系列-02-框架设计

    跳转到我的博客 设计任务 在主窗口root中放置三个容器用于容纳组件,容器采用框架设计. 代码初步设计 import tkinter as tk root = tk.Tk() root.geometr ...

  8. Python图形编程探索系列-01-初级任务

    设计任务 设计一个主窗口,在其中添加三个标签和三个按钮,当点击按钮时,对标签的内容和色彩进行修改. 代码初步设计 import tkinter as tk root = tk.Tk() def f1( ...

  9. linux python 图形编程 qt开发环境搭建

    我的系统是 ubuntu14.04 我们使用的是python2.7,建议安装qt4+pyqt4+eric4 eric是pyqt的界面设计器的代码生成软件. 1.安装sip 这个是python和qt之间 ...

随机推荐

  1. L0/L1/L2范数(转载)

    一.首先说一下范数的概念: 向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离. 向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| > ...

  2. UML和模式应用2: 迭代、进化和敏捷

    1.前言 本章主要介绍迭代.敏捷开发及UP(统一过程)的基本概念 2.基本术语 Items Note 软件开发过程 描述了构造.部署及维护软件的方式 迭代开发 是一种软件开发过程的生命周期模型,依赖短 ...

  3. 【转】new对象时,类名后加括号和不加括号的区别

    请看测试代码: #include <iostream> using namespace std; // 空类 class empty { }; // 一个默认构造函数,一个自定义构造函数 ...

  4. 阿里云服务器搭建FTP

    操作系统:Windows Server 2008 R2企业版. 首先,创建一个用户组:ftpUsers,创建一个用户:ftpAdmin.并将ftpAdmin隶属于ftpUsers组 其次,需要安装ft ...

  5. yum install oracle-validated

    背景 当时心血来潮要在linux搞oracle,可一顿折腾,大约两个周时间,主要是各种环境的检测麻烦,在redhat上操作也不如centos有利. 命令 yum install oracle-vali ...

  6. maven 跳过test

    -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下. -Dmaven.test.skip=true,不执行测试用例,也不编译测试 ...

  7. Dotfuscator使用

    参考:https://www.cnblogs.com/xiezunxu/articles/7228741.html

  8. 测试开发之前端——No6.HTML5中的键盘事件

    键盘事件 由键盘触发的事件. 适用于所有 HTML 5 元素: 属性 值 描述 onkeydown script 当按下按键时运行脚本 onkeypress script 当按下并松开按键时运行脚本 ...

  9. python下图像读取方式以及效率对比

    https://zhuanlan.zhihu.com/p/30383580 opencv速度最快,值得注意的是mxnet的采用多线程读取的方式,可大大加速

  10. java多线程快速入门(四)

    通过匿名内部类的方法创建多线程 package com.cppdy; //通过匿名内部类的方法创建多线程 public class ThreadDemo2 { public static void m ...