python - 根据单选按钮的一部分打印文本
问题描述
我试图在我的脚本中修复的部分将显示一个带有两个单选按钮和一个保存按钮的窗口。单击按钮时,将打印一条消息,该消息取决于是否选择了选项。
from tkinter import *
from tkinter import ttk
class MyApp(Tk):
def __init__(self):
Tk.__init__(self)
container = ttk.Frame(self)
container.pack(side="top", fill="both", expand = True)
self.frames = {}
for F in (PageOne, PageTwo):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky = NSEW)
self.show_frame(PageOne)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
def get_page(self, classname):
for page in self.frames.values():
if str(page.__class__.__name__) == classname:
return page
return None
如果选择并保存单选按钮 1,那么我想打印小额分配,如果选择并保存单选按钮 2,那么我想打印中量分配,那么我目前正在尝试在验证功能中修复类 PageOne。
class PageOne(ttk.Frame):
def __init__(self, parent, controller):
ttk.Frame.__init__(self, parent)
ttk.Label(self, text='PageOne').grid(padx=(20,20), pady=(20,20))
self.controller = controller
self.make_widget(controller)
def make_widget(self, controller):
self.some_input = StringVar
self.some_entry = ttk.Entry(self, textvariable=self.some_input, width=8)
self.some_entry.grid()
self.v = StringVar()
self.v.set("b")
button1 = ttk.Button(self, text='Next Page',
command=lambda: controller.show_frame(PageTwo))
button1.grid()
Rad1 = ttk.Radiobutton(self, text="SMALL",variable=self.v, value="a")
Rad1.grid()
Rad2 = ttk.Radiobutton(self, text="MEDIUM",variable=self.v, value="b")
Rad2.grid()
button2 = ttk.Button(self, text="SAVE", command=validate)
button2.grid()
def validate(self):
value = self.v.get()
if value == "a":
print("Small Amount Dispensing")
elif value == "b":
print("Medium Amount Dispensing")
else:
print("An option must be selected")
app = MyApp()
app.title('Multi-Page Test App')
app.mainloop()
``````
解决方案
你必须self.
在command=self.validate
button2 = ttk.Button(self, text="SAVE", command=self.validate)
推荐阅读
- python - Python 2 与 3 正则表达式的区别
- python - AttributeError:模块'bcrypt'没有python的属性'hashpw'
- vb.net - 在 SQL Server Reporting Services 中将 uri 图像旋转 90 度
- python-3.x - 如何使用 Openpyxl 访问 Onedrive 上的 Excel 文件
- swift - 带有表情符号的快速光标位置
- java - Spring MongoDB - 使用抽象/密封类字段
- javafx - JavaFX如何将节点居中到ImageView(使用setPreserveRation == true)?
- ios - 拖放过程中获取titleLabel
- angular - Angular 6 Universal Application 代码未显示在视图源中
- python - 从 JSON 字段中拆分字符串值并分配给 YAML 映射