python tkinter之 复选、文本、下拉的实现


Posted in Python onMarch 04, 2020

我就废话不多说了,直接看代码吧!

import tkinter as tk
from tkinter import ttk
win = tk.Tk()
win.title("Python GUI")  # 添加标题
ttk.Label(win, text="Chooes a number").grid(column=1, row=0) # 添加一个标签0
ttk.Label(win, text="Enter a name:").grid(column=0, row=0) # 设置其在界面中出现的位置
# button被点击之后会被执行
def clickMe():  # 当acction被点击时,该函数则生效
 action.configure(text='Hello ' + name.get() + ' ' + numberChosen.get())#设置button显示的内容
 print('check3 is %d %s' % (chvarEn.get(), type(chvarUn.get())))
action = ttk.Button(win, text="Click Me!", command=clickMe) # 创建一个按钮, text:显示按
action.grid(column=2, row=1)  # 设置其在界面中出现的位置
# 文本框
name = tk.StringVar() # StringVar是Tk库内部定义的字符串变量类型,在这里用于管理
        #部件上面的字符;不过一般用在按钮button上。改变StringVar,按钮上的文字也随之改变。
nameEntered = ttk.Entry(win, width=12, textvariable=name) # 创建一个文本框,字符长度为12,
     #内容绑定到name,方便clickMe调用
nameEntered.grid(column=0, row=1) # 设置其在界面中出现的位置
nameEntered.focus() # 当程序运行时,光标默认会出现在该文本框中
# 一个下拉列表
number = tk.StringVar()
numberChosen = ttk.Combobox(win, width=12, textvariable=number, state='readonly')
numberChosen['values'] = (1, 2, 4, 42, 100) # 设置下拉列表的值
numberChosen.grid(column=1, row=1) # 设置其在界面中出现的位置 column代表列 row 代表行
numberChosen.current(4) # 设置下拉列表默认显示的值,0为numberChosen['values'] 的下标值
# 复选框
chVarDis = tk.IntVar() # 用来获取复选框是否被勾选,通过chVarDis.get()来获取其的状态,
           #其状态值为int类型 勾选为1 未勾选为0
check1 = tk.Checkbutton(win, text="Disabled", variable=chVarDis, state='disabled') # text为复选框
           #后面的名称,variable将该复选框的状态赋值给一个变量,当state='disabled'时,
           #该复选框为灰色,不能点的状态
check1.select() # 该复选框是否勾选,select为勾选, deselect为不勾选
check1.grid(column=0, row=4, sticky=tk.W) # sticky=tk.W 当该列中其他行或该行中的其他列的
          #某一个功能拉长这列的宽度或高度时,设定该值可以保证本行保持左对齐,
          #N:北/上对齐 S:南/下对齐 W:西/左对齐 E:东/右对齐
chvarUn = tk.IntVar()
check2 = tk.Checkbutton(win, text="UnChecked", variable=chvarUn)
check2.deselect()
check2.grid(column=1, row=4, sticky=tk.W)
chvarEn = tk.IntVar()
check3 = tk.Checkbutton(win, text="Enabled", variable=chvarEn)
check3.select()
check3.grid(column=2, row=4, sticky=tk.W)
win.mainloop() # 当调用mainloop()时,窗口才会显示出来

补充知识:【tkinter】填坑 解决Entry、Label不能修改text、image等属性的问题

tkinter中定义一个输入,如:

input =Entry(root).pack()

不等于以下定义

input =Entry(root) input.pack()

后者定义后直接布局,返回的不是Entry()控件本身,没有entry所有的一些方法如get()等

按照前者定义 input =Entry(root).pack() 后,可利用input.get() 获得输入框的文本信息。

利用 input['text']可修改Entry()文本框的文本内容。Label等控件同理,如法还可以修改Label['image']实现动态显示图片等操作。

以上这篇python tkinter之 复选、文本、下拉的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python之简单主机批量管理工具
Jan 27 Python
python的numpy模块安装不成功简单解决方法总结
Dec 23 Python
Python的argparse库使用详解
Oct 09 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
Python 循环终止语句的三种方法小结
Jun 24 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
python numpy实现rolling滚动案例
Jun 08 Python
python爬取网易云音乐热歌榜实例代码
Aug 07 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
深入探讨opencv图像矫正算法实战
May 21 Python
python析构函数用法及注意事项
Jun 22 Python
自定义Django默认的sitemap站点地图样式
Mar 04 #Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
Mar 04 #Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 #Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 #Python
python3格式化字符串 f-string的高级用法(推荐)
Mar 04 #Python
利用Python脚本批量生成SQL语句
Mar 04 #Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 #Python
You might like
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
php的一些小问题
2010/07/03 PHP
php获取mysql字段名称和其它信息的例子
2014/04/14 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
javascript 保存文件到本地实现方法
2012/11/29 Javascript
jquery处理json对象
2014/11/03 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
2019/10/31 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
python魔法方法-自定义序列详解
2016/07/21 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
美术社团活动总结
2014/06/27 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL