【发布时间】:2020-03-15 04:25:57
【问题描述】:
我有以下脚本。在 self.dis (rad.button 3) 中,如果处于活动状态,我想乘以 *10,如果不活动,则乘以 *100
import tkinter.messagebox
import tkinter as tk
from tkinter import ttk
class Resistor:
def set_band1(self, value):
self.var_band1.set(value)
self.update_labels()
def update_labels(self):
self.dis = 0
if self.dis != 0:
v1 = self.var_band1.get()*10
else:
v1 = self.var_band1.get()*100
def __init__(self, root):
options = {'font': 'bold', 'bg': 'dimgrey'}
self.dis = tk.Radiobutton(resistor_frame, text="3 Band", value=0, command=self.enable_band3, **options)
self.dis.grid(column=1, row=0
self.en = tk.Radiobutton(resistor_frame, text="4 Band", value=1, command=self.disable_band3, **options)
self.en.grid(column=4, row=0)
【问题讨论】:
-
您在
if语句之前立即将self.dis设置为零。你为什么这样做? -
cz 我想从单选按钮中按值选择条件我认为 self.dis 的值为零,所以如果值不为零,它将乘以 *10,反之亦然
-
如果将其设置为零,
if self.dis != 0将永远不会为真。 -
如果 self.dis == 0 为真,则其相同。但“其他”条件不起作用。
-
为什么你认为它不起作用?
v1是一个局部变量,您是否尝试添加打印语句来验证它是否已正确设置?v1应该代表什么?
标签: python button tkinter radio-button