python - 从 Tkinter 函数读取值
问题描述
这是我之前发布的上一个问题的后续。我面临的问题是,我的弹出菜单能够让我选择我想要的值,但是我无法读取并使用该值进行 2 个类之外的后续处理 - App 和 TestFrame。由于我对 Tkinter 函数相对较新,因此我将非常感谢任何形式的帮助/建议,以了解如何在 Class 函数之外读取和使用这些值进行进一步处理。
谢谢!
import tkinter as tk
from tkinter import ttk
class App(tk.Tk):
def __init__(self):
super().__init__()
self.geometry("800x400")
self.title('ABC')
for r in range(5):
self.rowconfigure(r, weight=1)
for c in range(8):
self.columnconfigure(c, weight=1)
self.testFrame1 = TestFrame()
self.testFrame1.grid(row=0, column=0, rowspan=3, columnspan=3, sticky='nsew')
class TestFrame(tk.Frame):
def __init__(self):
super().__init__()
self.dimension = ('106','108','110','112','114','126','128','130','132','134','136','138','140','146','148','150','152','154','360','380','400','420','440','500', '520', '540',
'560', '580', '600','780','800','820')
self.option_var =tk.IntVar()
paddings = {'padx': 5, 'pady': 5}
label = ttk.Label(self, text='Select the dimension for DOB:').grid(column=0, row=0, sticky=tk.W, **paddings)
#DOB
option_menu = ttk.OptionMenu(
self,
self.option_var,
self.dimension[0],
*self.dimension,
command=self.option_changed)
option_menu.grid(column=1, row=0, sticky=tk.W, **paddings)
self.output_label = ttk.Label(self, foreground='red')
self.output_label.grid(column=0, row=1, sticky=tk.W, **paddings)
def option_changed(self, *args):
self.output_label['text'] = f'You selected: {self.option_var.get()}'
App().mainloop()
解决方案
推荐阅读
- ios - UITableViewNavigation 出现问题,在 segue 上传递数据
- c++ - 避免为实现接口的类声明多个几乎相同的声明
- python - 如何将漂亮的汤标签内部html存储为字符串
- python-3.x - 如何将输出数据适合python中的数据框?
- css - align-self: flex-end 不会将游戏板移动到页面底部?
- templates - 为什么我在 PhpStorm 中看不到任何建议?
- javascript - 如何在 ESLint for Javascript 中禁用分号?
- python - 如何将matplotlib中的雷达图与类似于饼图的类别结合起来
- java - 接受输入字并输出在导入的 .txt 文件中找到的任何字谜的 Java 程序?
- windows - 如何删除无法定位的文件