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挡住了我们的视野,今天又是阴天,但我有了改变。
Python图形编程探索系列-05-用控制变量构建对话程序的更多相关文章
- Python图形编程探索系列-09-tkinter与matplotlib结合案例
案例1 案例来自于:https://bbs.csdn.net/topics/390326088 代码示例: import matplotlib matplotlib.use('TkAgg') from ...
- Python图形编程探索系列-07-程序登录界面设计
设计任务 初步设计程序登录界面,详细分析设计步骤. 程序详细分析 基本框架设计 import tkinter as tk import tkinter.messagebox root = tk.Tk( ...
- Python图形编程探索系列-04-网上图片与标签组件的结合
跳转到自己的博客 任务设定 任务:从网上找到一张图片,然后将其显示在标签上? 网上图片网站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.j ...
- Python图形编程探索系列-03-标签组件(Label)
跳转到自己的博客 tkinter.Label介绍 什么是标签? 通俗的将就相当于word的功能,能够进行显示不可修改的文字.图片或者图文混排. 直观体会一下 图1 背景图构成:内容区(黑色),填充区( ...
- Python图形编程探索系列-08-再次认识标签
标签的各种属性 代码展示: import tkinter as tk root = tk.Tk() root.geometry = '500x300' label1 = tk.Label(root, ...
- Python图形编程探索系列-06-按钮批量生产函数
设计任务 初步设计一个批量生产按钮的函数,根据需要的按钮数量,自动生成多少按钮. 函数设计 import tkinter as tk # 导入tkinter库 root = tk.Tk() # 建立程 ...
- Python图形编程探索系列-02-框架设计
跳转到我的博客 设计任务 在主窗口root中放置三个容器用于容纳组件,容器采用框架设计. 代码初步设计 import tkinter as tk root = tk.Tk() root.geometr ...
- Python图形编程探索系列-01-初级任务
设计任务 设计一个主窗口,在其中添加三个标签和三个按钮,当点击按钮时,对标签的内容和色彩进行修改. 代码初步设计 import tkinter as tk root = tk.Tk() def f1( ...
- linux python 图形编程 qt开发环境搭建
我的系统是 ubuntu14.04 我们使用的是python2.7,建议安装qt4+pyqt4+eric4 eric是pyqt的界面设计器的代码生成软件. 1.安装sip 这个是python和qt之间 ...
随机推荐
- L0/L1/L2范数(转载)
一.首先说一下范数的概念: 向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离. 向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| > ...
- UML和模式应用2: 迭代、进化和敏捷
1.前言 本章主要介绍迭代.敏捷开发及UP(统一过程)的基本概念 2.基本术语 Items Note 软件开发过程 描述了构造.部署及维护软件的方式 迭代开发 是一种软件开发过程的生命周期模型,依赖短 ...
- 【转】new对象时,类名后加括号和不加括号的区别
请看测试代码: #include <iostream> using namespace std; // 空类 class empty { }; // 一个默认构造函数,一个自定义构造函数 ...
- 阿里云服务器搭建FTP
操作系统:Windows Server 2008 R2企业版. 首先,创建一个用户组:ftpUsers,创建一个用户:ftpAdmin.并将ftpAdmin隶属于ftpUsers组 其次,需要安装ft ...
- yum install oracle-validated
背景 当时心血来潮要在linux搞oracle,可一顿折腾,大约两个周时间,主要是各种环境的检测麻烦,在redhat上操作也不如centos有利. 命令 yum install oracle-vali ...
- maven 跳过test
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下. -Dmaven.test.skip=true,不执行测试用例,也不编译测试 ...
- Dotfuscator使用
参考:https://www.cnblogs.com/xiezunxu/articles/7228741.html
- 测试开发之前端——No6.HTML5中的键盘事件
键盘事件 由键盘触发的事件. 适用于所有 HTML 5 元素: 属性 值 描述 onkeydown script 当按下按键时运行脚本 onkeypress script 当按下并松开按键时运行脚本 ...
- python下图像读取方式以及效率对比
https://zhuanlan.zhihu.com/p/30383580 opencv速度最快,值得注意的是mxnet的采用多线程读取的方式,可大大加速
- java多线程快速入门(四)
通过匿名内部类的方法创建多线程 package com.cppdy; //通过匿名内部类的方法创建多线程 public class ThreadDemo2 { public static void m ...