python单选按钮重置_python – Tkinter单选按钮初始化错误
存储变量对象的位置(StringVar,v,在您的情况下)必须保持不变,以便这种奇怪的行为不会出现.我的猜测是我们看到这种行为因为v超出了范围,出了问题.除了使用全局之外,我无法想到从函数中执行此操作的方法.
破码:
from Tkinter import *
def App(master):
v = StringVar()
v.set('python')
lable1 = Label(master, text=' hovering over below radio buttons will cause them to look like they are selected')
lable1.pack()
runtimeFrame = Frame(master, relief=GROOVE, borderwidth=3)
runtimeFrame.pack(fill=X, pady=5, padx=5)
for mode in ['java', 'python', 'jython']:
b = Radiobutton(runtimeFrame, text=mode, variable=v, value=mode, indicatoron=1)
b.pack(side=LEFT)
if __name__ == '__main__':
master = Tk()
App(master)
mainloop()
示例修复:
from Tkinter import *
def App(master, radio_var):
radio_var.set('python')
lable1 = Label(master, text=' hovering over below radio buttons will cause them to look like they are selected')
lable1.pack()
runtimeFrame = Frame(master, relief=GROOVE, borderwidth=3)
runtimeFrame.pack(fill=X, pady=5, padx=5)
for mode in ['java', 'python', 'jython']:
b = Radiobutton(runtimeFrame, text=mode, variable=radio_var, value=mode, indicatoron=1)
b.pack(side=LEFT)
if __name__ == '__main__':
master = Tk()
radio_var = StringVar()
App(master, radio_var)
mainloop()
考虑一下,如果你有多个需要持久化的变量,你可以传入一个变量列表或字典.
此外,如果“必须在函数中”是作业分配要求,请考虑将代码包装在类中.我不是tk专家,但这似乎是组织代码的首选方式.
示例修复2:
from Tkinter import *
class App(object):
def __init__(self, master):
self.radio_var = StringVar()
self.radio_var.set('python')
lable1 = Label(master, text=' hovering over below radio buttons will cause them to look like they are selected')
lable1.pack()
runtimeFrame = Frame(master, relief=GROOVE, borderwidth=3)
runtimeFrame.pack(fill=X, pady=5, padx=5)
for mode in ['java', 'python', 'jython']:
b = Radiobutton(runtimeFrame, text=mode, variable=self.radio_var, value=mode, indicatoron=1)
b.pack(side=LEFT)
if __name__ == '__main__':
master = Tk()
app = App(master)
mainloop()
注意一个微小的变化
app = App(master)
这是必需的,以便App实例不会过早地进行垃圾回收.这将有效地将self.radio_var拉出范围,我们又回到了第一个方向.
python单选按钮重置_python – Tkinter单选按钮初始化错误相关推荐
- python俄罗斯方块教程_python tkinter实现俄罗斯方块 基础版
本项目最终效果见本人b站投稿av81480858 简介部分 本项目最终代码已上传github: https://github.com/BigShuang/Tetris 的1_BASIC文件夹 .其中1 ...
- python 单机程序_Python tkinter制作单机五子棋游戏
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于Python家庭,作者Python家庭 实战项目:使用Python ...
- python窗口居中_Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
我就废话不多说了.大家直接看代码吧! #!/usr/bin/env python #coding=utf-8 ''' 窗口屏幕居中,设置窗口最大,最小尺寸... 版权所有 2014 yao_yu (h ...
- python自定义异常捕获_python怎么自定义捕获错误
异常捕捉: try: XXXXX1 raise Exception("xxxxx2") except (Exception1,Exception2,--): xxxx3 else: ...
- python编程画布_Python Tkinter 画布(Canvas)
Python Tkinter 画布(Canvas) Python Tkinter 画布(Canvas)组件和 html5 中的画布一样,都是用来绘图的.您可以将图形,文本,小部件或框架放置在画布上. ...
- python place布局_Python TKinter布局管理Place()Grid Pack详解
Tkinter是Python标准GUI工具包,有三种布局管理方式: pack grid place 这三种布局管理在同一个 master window 里是不可以混用的. 下面通过三示例,详解使用参数 ...
- python制作日历_python tkinter制作日历界面的简单步骤
我们可能在编程考试里遇到过这样的编程题,对于基础不太好的小伙伴,可能很头疼这个流程,之前也跟大家说过掌握最精华的内容,才是最重要的,因此,下面小编不仅通过大家容易考试碰到的日历问题,更给大家教学,常见 ...
- python destroy函数_Python Tkinter,销毁顶层函数
我正在使用Tkinter作为GUI使用python编程一些驱动器.当我的机器运行时,我想向用户显示一个顶层窗口,其中包含一些信息,这些信息应在功能完成后自行关闭.这是我的最小示例: from Tkin ...
- python 赋值重置_Python所有赋值语句快速预览
课程亮点: 一图胜千言,让文科生都能看得懂的python教程!!!另外加详细的笔记作为辅助工具,500多条笔记帮助学员学习Python500多个知识点 课程内容: 1. Python3语言总体介绍以及 ...
最新文章
- es6箭头函数(=)与展开特性运算符(...)的使用
- iOS开发之AFNetworking 3.0.4使用
- K8s 文档增加反种族歧视声明 | 云原生生态周报 Vol. 54
- 程序员求职面试三部曲之三:快速适应新的工作环境
- java程序启动后就进行了7次younggc_程序员如何优化 Java GC
- 算法笔记之——快速幂
- 逼疯上海人的垃圾分类满月了:羊肉串变羊肉吕,奶茶里珍珠按颗算...
- IE与FireFox的不同点(不断更新中..)
- 5加载stm32 keil_STM32在SRAM、FLASH中调试代码的配置方法(附详细步骤)
- 武器系统仿真技术(二):末端制导系统蒙特卡洛仿真法
- SQL查询1-12月的数据
- 冗余链路中STP协议的工作过程以及二期STP收敛速度优化方案介绍
- Android集成腾讯TBS_X5内核的一些解决方法
- java 读取psd,寻找Java库以使用PSD格式
- 杜凯杰教学数据分析:python 图片爬取 爬取各校校花图片
- 虚幻Delay用法测试
- 美团配送系统技术演进
- [总结]视音频编解码技术零基础学习方法
- 247 中心对称数 II
- 实施化化工厂人员定位系统势在必行,你不知道的化化工厂人员定位