python tkinter Radiobuttons - 两个按钮在显示之前都被选中

标签 python tkinter

我查看了所有能找到的帖子,但似乎仍无法解决问题。我有一个 tkinter 应用程序,正在尝试添加单选按钮。无论我尝试什么,按钮都会预选。我希望它们显示为空白。

请帮帮我。我试图找出 Python 并能够处理屏幕抓取,登录到一个试图锁定应用程序的站点,但无法直接了解此细节。你的代码很长,但我想我包括了相关部分。问题区域是底部的最后一部分。

在此先感谢您提供的任何帮助。

创建用户名/密码标题区域

    self.heading_prompt = tk.Label(self.label_entry_frame, text='LOG `enter code here`on\      `ASSSISTANT')
    self.heading_prompt.config(fg='blue', font('times',heading_font, 'bold'))
    self.heading_prompt.pack(side = 'left')
    self.label_entry_frame.place(x = 112, y=100)

    #   User credentials - prompt
    self.user_name_prompt = tk.Label(self.name_entry_frame, text='Select `enter code here`User:                          ')
    self.user_name_prompt.config(fg='green', font=('times', ``regular_font, 'bold'))
    self.user_name_prompt.pack(side = 'left')

    #   Create Course Name Listbox
    self.user_name_selected = tk.Listbox(self.name_entry_frame,width =7, `enter code here`height = 2, highlightcolor="green",selectmode = 'single', `enter code here`exportselection = "False" )
    self.user_name_selected.config(fg='green', font=enter code here`enter code here`('times',regular_font, 'bold'))
    self.user_name_selected.insert(1, "Margy")
    self.user_name_selected.insert(2, "Steve")
    self.user_name_selected.pack(side = 'left')       
    self.name_entry_frame.place(x=10,y=130)

    #   Position Cursor into User Name Listbox
    self.user_name_selected.focus_set()


    #   User credentials - buttons
    self.user_no = 0
    #self.user_no.set(value = 0)
    user_rb_1 = tk.Radiobutton(self.name_entry_frame, text = "Margy", variable = self.user_no, value = 1)
    user_rb_1.config(fg='green', font=('times',regular_font, 'bold'))
    user_rb_1.pack(side = "left")
    user_rb_2 = tk.Radiobutton(self.name_entry_frame, text = "Steve", variable = self.user_no, value = 1)
    user_rb_2.config(fg='green', font=('times',regular_font, 'bold'))
    user_rb_2.pack(side = "left")
    self.name_entry_frame.place(x=30, y=160)

最佳答案

Radiobutton 的变量 应该是一个tkinter variable。 :

import tkinter as tk

root = tk.Tk()

user_no = tk.IntVar()

user_rb_1 = tk.Radiobutton(root, text = "Margy", variable = user_no, value = 1)
user_rb_1.pack()
user_rb_2 = tk.Radiobutton(root, text = "Steve", variable = user_no, value = 2)
user_rb_2.pack()

root.mainloop()

然后,您可以随时使用 user_no.get() 获取所选值(12)。只要未选择任何内容,它就会是 0

关于python tkinter Radiobuttons - 两个按钮在显示之前都被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51634729/

相关文章:

python - 如何使用 python 在 tkinter 中更改按钮和框架的字体和大小?

python - 为什么 root.quit() 或 root.destroy() 不起作用,而是两者的组合起作用?

python - 使用 Python 将电子邮件发送到带有内联图像的 Gmail

python - Pillow (PIL) 不支持 PNG 文件。如何安装 ZLIB 压缩库?

python - 如何绕过第一组条件

python - 如何通过https python请求下载文件

python - 如何引用尚未定义的类?

python - main()变量未定义

python - 如何将 py 制作的 exe 文件从我的电脑更新到我发送给它的人?

python 文本小部件获取方法