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 相关文章推荐
简单解析Django框架中的表单验证
Jul 17 Python
Python连接SQLServer2000的方法详解
Apr 19 Python
[原创]教女朋友学Python(一)运行环境搭建
Nov 29 Python
TensorFlow实现卷积神经网络
May 24 Python
Python中安装easy_install的方法
Nov 18 Python
详解分布式任务队列Celery使用说明
Nov 29 Python
Python实现打砖块小游戏代码实例
May 18 Python
Python Tkinter 简单登录界面的实现
Jun 14 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 Python
Python创建自己的加密货币的示例
Mar 01 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表单提交与$_POST实例分析
2015/01/26 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
javascript知识点收藏
2007/02/22 Javascript
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
python练习程序批量修改文件名
2014/01/16 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
如何在python中使用selenium的示例
2017/12/26 Python
flask中过滤器的使用详解
2018/08/01 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
商家认证委托书格式
2014/10/16 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
入党转正申请书范文
2019/05/20 职场文书
创业计划书之面包店
2019/09/17 职场文书
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS