首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在类内的函数外获取tkinter输入

如何在类内的函数外获取tkinter输入
EN

Stack Overflow用户
提问于 2021-02-07 15:02:54
回答 1查看 29关注 0票数 0

如何访问类外部的变量(ifrequency和iperiod)?

代码语言:javascript
运行
AI代码解释
复制
import tkinter as tk
from tkinter import ttk

root = tk.Tk()

class Parameters:

    def __init__(self,master):

        tk.Label(master,text='frequency').grid(row=0)
        tk.Label(master,text='period').grid(row=1)
        
        self.options1 = ['D1', 'D2']
        self.options2 = ['daily', 'monthly']
        
        self.mycombo1 = ttk.Combobox(master, value=self.options1)
        self.mycombo1.bind("<<ComboboxSelected>>")
        self.mycombo1.grid(row=0, column=1)      
        
        self.mycombo2 = ttk.Combobox(master, value=self.options2)
        self.mycombo2.bind("<<ComboboxSelected>>")
        self.mycombo2.grid(row=1, column=1)        

        self.myButton = tk.Button(master, text="Go", command=self.clicker).grid(row=3,column=1)              
      
    def clicker(self):
        ifrequency = self.mycombo1.get()
        iperiod = self.mycombo2.get()
        return ifrequency, iperiod
    
p = Parameters(root)
   
root.mainloop()

print(p.ifrequency)

当运行最后一行时,代码给出错误:"AttributeError:'Parameters‘object没有’ifrequency‘属性“。

为了了解一下上下文,我构建了一些代码来从API中获取输出。我希望用户能够使用表单选择输入(例如频率、周期),然后让主程序调用API并使用这些输入。我的API代码可以工作,但我需要将用户输入分配给一个变量。我可以这样做,但是这个变量卡在函数/类中,我找不到正确的方法来取出它。

这是我在这里的第一个问题(通常是别人在我之前问过的),所以如果我犯了任何错误,请道歉。非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-07 15:11:22

ifrequencyiperiod没有赋值给self,只是在函数的局部作用域中,所以它们在clicker返回后消失,而且由于它是由tkinter按钮调用的,所以它的返回值不做任何事情。因此,请尝试更改clicker,以便将它们分配给self

代码语言:javascript
运行
AI代码解释
复制
    def clicker(self):
        self.ifrequency = self.mycombo1.get()
        self.iperiod = self.mycombo2.get()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66089370

复制
相关文章
多张excel表做连接,就比如1表有A,B,C列,2表有A,B,D列,我想把A,B,C,D合到一张表
前几天在Python铂金群有个叫【水方人子】的粉丝问了一个关于excel处理的问题,这里拿出来给大家分享下,一起学习。
前端皮皮
2022/08/17
3720
多张excel表做连接,就比如1表有A,B,C列,2表有A,B,D列,我想把A,B,C,D合到一张表
LeetCode 5967. 检查是否所有 A 都在 B 之前
给你一个 仅 由字符 'a' 和 'b' 组成的字符串 s 。 如果字符串中 每个 ‘a’ 都出现在 每个 ‘b’ 之前,返回 true ;否则,返回 false 。
Michael阿明
2022/01/07
3330
用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
全栈程序员站长
2022/07/09
1.8K0
[Office] 如何对Excel二维表中的所有数值进行排序
在Excel中,如果想对一个一维的数组(只有一行或者一列的数据)进行排序的话(寻找最大值和最小值),可以直接使用Excel自带的数据筛选功能进行排序,但是如果要在二维数组(存在很多行和很多列)的数据表中排序的话,就要巧用函数来实现了。
轻舞飞扬SR
2021/02/24
10.6K0
[Office] 如何对Excel二维表中的所有数值进行排序
java中的sort排序算法_vba中sort按某列排序
C++中提供了sort函数,可以让程序员轻松地调用排序算法,JAVA中也有相应的函数。
全栈程序员站长
2022/09/21
2.4K0
Bootstrap列排序
在Bootstrap中,列排序(Column Ordering)是一种布局技术,允许我们在不同屏幕尺寸下重新排列列的顺序。这对于在响应式设计中调整布局非常有用。
堕落飞鸟
2023/05/17
1.1K0
EasyUI中不启用Combobox组件的可编辑模式
Combobox组件默认是可编辑模式的,如果不想让用户可以编辑,只要在data-options中,增加editable设置为false就可以了,如下:
徐大嘴
2019/03/21
1.4K0
Python的可散列对象
注: 本文是对《跟老齐学Python:轻松入门》和《Python大学实用教程》有关字典对象的学习补充和提升。更多有关这两本书的资料,请阅读如下链接:
老齐
2021/03/11
5.1K0
Python的可散列对象
如何检查 MySQL 中的列是否为空或 Null?
在MySQL数据库中,我们经常需要检查某个列是否为空或Null。空值表示该列没有被赋值,而Null表示该列的值是未知的或不存在的。在本文中,我们将讨论如何在MySQL中检查列是否为空或Null,并探讨不同的方法和案例。
网络技术联盟站
2023/07/14
2.1K0
如何检查 MySQL 中的列是否为空或 Null?
如何检查 MySQL 中的列是否为空或 Null?
在MySQL数据库中,我们经常需要检查某个列是否为空或Null。空值表示该列没有被赋值,而Null表示该列的值是未知的或不存在的。在本文中,我们将讨论如何在MySQL中检查列是否为空或Null,并探讨不同的方法和案例。
网络技术联盟站
2023/08/03
4.5K0
如何检查 MySQL 中的列是否为空或 Null?
第四章 为IM 启用填充对象之启用和禁用表空间的IM列存储(IM 4.5)
第一章 Oracle Database In-Memory 相关概念(IM-1.1)
Yunjie Ge
2022/04/23
6680
第四章 为IM 启用填充对象之启用和禁用表空间的IM列存储(IM 4.5)
把表中的所有错误自动替换为空?这样做就算列数变了也不怕!
小勤:这个我知道啊。但是这个表的列是动态的,下次多了一列这个方法就不行了,又得重新搞一遍。
大海Power
2021/08/30
2.2K0
【DB笔试面试540】在Oracle中,如何列举某个用户下所有表的注释及列的注释?
可以使用DBA_TAB_COMMENTS视图来查询表的注释,使用DBA_COL_COMMENTS视图来查询列的注释。它们的示例分别如下所示:
AiDBA宝典
2019/09/29
3K0
【DB笔试面试540】在Oracle中,如何列举某个用户下所有表的注释及列的注释?
Excel中两列(表)数据对比的常用方法
Excel中两列数据的差异对比,方法非常多,比如简单的直接用等式处理,到使用Excel2016的新功能Power Query(Excel2010或Excel2013可到微软官方下载相应的插件)实现各种复杂的数据整理后再进行对比,可以根据实际需要选择使用。
大海Power
2021/08/30
17.8K0
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
最近小编在开发中遇到个问题,就是关于枚举方面的使用。一些固定不变的数据我们可以通过枚举来定义,减少对数据库的查询。是一种常见的开发技巧!
掉发的小王
2022/07/11
4K0
使用Python实现df的奇数列与偶数列调换位置,比如A列,B列,调换成B列,A列
前几天在Python铂金交流群【瑜亮老师】给大家出了一道Pandas数据处理题目,使用Python实现df的奇数列与偶数列调换位置,比如A列,B列,调换成B列,A列。
Python进阶者
2022/06/05
1.3K0
使用Python实现df的奇数列与偶数列调换位置,比如A列,B列,调换成B列,A列
mysql中kill掉所有锁表的进程
很多时候由于异常或程序错误会导致个别进程占用大量系统资源,需要结束这些进程,通常可以使用以下命令Kill进程:
全栈程序员站长
2022/09/28
3.1K0
Hadoop两列数据的排序
如果利用mapreduce过程的自动排序,只能实现根据第一列排序,现在需要自定义一个继承自WritableComparable接口的类,用该类作为key,就可以利用mapreduce过程的自动排序了。代码如下:
星哥玩云
2022/06/30
1.8K0
点击加载更多

相似问题

是否可以对每行的列进行排序?

20

是否可以对QTreeWidget列中的数字进行排序?

41

React Native的可排序表组件

111

嵌套的jQuery表排序器表,所有可排序

11

启用jquery中的可排序

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档