我在尝试制作GUI应用程序,你必须选择predict
按钮中的一个,然后输入的数字将被打印到终端,如果没有选择predict
按钮,则应该打印select predict button to proceed
。在
在pseudecode中类似于:
def check:
now = new.get()
if no lotto_button is selected:
print("select predict button to proceed")
else:
print(now)
但面临挑战:
1:当我选择一个预测按钮时,两个按钮都会升高。在
2:在打印条目中的内容之前,如何使预测必须被选中。在
^{pr2}$谢谢你,欢迎你的建议。在
使用
Radiobutton
小部件对于这类多选处理往往更好。在Radiobutton
属于“组”,这意味着您可以设置它们,以便在默认情况下始终需要选择一个组。这意味着你不需要任何类型的错误捕捉或显示任何类型的指令给用户,它只是直观地工作。在所以我们创建一个}的值将更改为
StringVar()
,用来定义哪些Radiobutton
小部件应该链接在一起,然后我们将它的值设置为1
,这是"Predict One"
按钮的值。如果用户按下另一个Radiobutton
,则值将变为2
,这意味着第一个按钮“取消按下”,而{2
。在当您单击其中一个按钮预测时,两个按钮都会被触发,因为在您的函数start_func中,您正在配置这两个按钮。 您可以绑定一个事件单击并在start_func中获取小部件,而不是配置这两个选项:
然后在你的开始阶段:
^{pr2}$关于你的第二点,我不太明白你的意思。在
至于强制选择,您可以在最外面的范围(与
root = tk.Tk()
处于同一级别)定义一个标志,以便您可以在函数中看到它是否设置为:至于在选中一个按钮时禁用每个按钮,您可以定义您的
^{pr2}$start_func
,使其以按钮对象(lotto_button
或lotto_button1
)为参数:要使用此函数,您需要按以下方式配置按钮,以便它们将自身作为参数传递:
您的
stop_func
中也应该有isPredicted
标志,以便它取消设置它:至于您的
terminal
函数,您需要根据isPredicted
的状态来操作,因此需要将其定义为:最后,在您的
"print number"
按钮中,您需要交换lambda中函数的顺序,否则isPredicted
对于该按钮的命令而言始终为False:您的最终代码应该如下所示:
相关问题 更多 >
编程相关推荐