Tkinter Python RadioButton 未选择
Tkinter Python RadioButton not selecting
您好,我是一个相对较新的开发人员(java 大约 1 年,几周前才开始使用 python),我无法让单选按钮在顶层工作 window 在 python 中。我在这里搜索了不同的问题和答案,并尝试了其中的几个,但 none 似乎有效。这是相关的代码:
class MPTest(TestBed.Frame):
def __init__(self, master=NONE):
TestBed.Frame.__init__(self, master)
self.createWidgets()
def createWidgets(self):
ucThree = Button(root, text='Bids', font='Jokerman',
fg='white', bg='royal blue',
command=self.BidWindow)
ucThree.grid(row=2)
def BidWindow(self):
t = TestBed.Toplevel(self)
t.wm_title("Bid Info")
t.configure(background="navy")
v = IntVar()
v2 = IntVar()
bidtypelabel = Label(t, text='Bid Type: ', fg='white', bg='navy')
bidtypelabel.grid(row=0)
realtime = Radiobutton(t, text='Real Time', variable=v, value=1,
fg='white', bg='navy')
realtime.grid(row=1)
priority = Radiobutton(t, text='Priority', variable=v, value=2,
fg='white', bg='navy')
priority.grid(row=2)
listsearch = Radiobutton(t, text='List Search', variable=v, value=3,
fg='white', bg='navy')
listsearch.grid(row=3)
bidactionlabel = Label(t, text='Action: ', fg='white', bg='navy')
bidactionlabel.grid(row=0, column=1)
acceptbid = Radiobutton(t, text='Accept Bid', variable=v2, value=1,
fg='white', bg='navy')
acceptbid.grid(row=1, column=1)
rejectbid = Radiobutton(t, text='Reject Bid', variable=v2, value=2,
fg='white', bg='navy')
rejectbid.grid(row=2, column=1)
submit = Button(t, text='Submit', fg='white', bg='royal blue')
submit.grid(row=4, column=2)
root = TestBed.Tk()
root.configure(background="navy")
root.rowconfigure((0, 1, 2, 3, 4, 5, 6, 7, 8, 9), weight=1, pad=50)
root.columnconfigure(1, weight=1, pad=200)
app = MPTest(master=root)
app.mainloop()
我已经尝试将变量设置为 0 和 1,都在 IntVar()
内,然后还尝试在下一行设置之后设置它。但是,这些都不允许单选按钮 selectable
并且将它们设置为 1(已分配的值)不会导致第一个选项在打开 window 时被 selected ].我还尝试将变量的主变量设置为 t (TopLevel
) 和 TestBed
。我尝试的任何事情似乎都不起作用。有时将鼠标悬停在它们上方会 select 所有这些,这看起来很麻烦。但是,当我单击它们时,无论我根据我在此处和其他站点上找到的答案尝试什么,它们都不会保持 selected。我是 Python 的新手,所以如果我做的事情明显愚蠢或错误,我深表歉意,但我们将不胜感激。
问题是 fg='white'
参数与单选按钮的背景颜色冲突(我看到的是白色,我认为您的情况也是如此)。正在进行选择,它只是在白色背景上绘制了一个白点,所以您看不到它。
要补救,请在每个单选按钮中添加以下参数:
selectcolor='navy'
# or any colour of your preference that highlights the white dot
现在您的单选按钮将具有相同的背景颜色,并且白色会突出。
您好,我是一个相对较新的开发人员(java 大约 1 年,几周前才开始使用 python),我无法让单选按钮在顶层工作 window 在 python 中。我在这里搜索了不同的问题和答案,并尝试了其中的几个,但 none 似乎有效。这是相关的代码:
class MPTest(TestBed.Frame):
def __init__(self, master=NONE):
TestBed.Frame.__init__(self, master)
self.createWidgets()
def createWidgets(self):
ucThree = Button(root, text='Bids', font='Jokerman',
fg='white', bg='royal blue',
command=self.BidWindow)
ucThree.grid(row=2)
def BidWindow(self):
t = TestBed.Toplevel(self)
t.wm_title("Bid Info")
t.configure(background="navy")
v = IntVar()
v2 = IntVar()
bidtypelabel = Label(t, text='Bid Type: ', fg='white', bg='navy')
bidtypelabel.grid(row=0)
realtime = Radiobutton(t, text='Real Time', variable=v, value=1,
fg='white', bg='navy')
realtime.grid(row=1)
priority = Radiobutton(t, text='Priority', variable=v, value=2,
fg='white', bg='navy')
priority.grid(row=2)
listsearch = Radiobutton(t, text='List Search', variable=v, value=3,
fg='white', bg='navy')
listsearch.grid(row=3)
bidactionlabel = Label(t, text='Action: ', fg='white', bg='navy')
bidactionlabel.grid(row=0, column=1)
acceptbid = Radiobutton(t, text='Accept Bid', variable=v2, value=1,
fg='white', bg='navy')
acceptbid.grid(row=1, column=1)
rejectbid = Radiobutton(t, text='Reject Bid', variable=v2, value=2,
fg='white', bg='navy')
rejectbid.grid(row=2, column=1)
submit = Button(t, text='Submit', fg='white', bg='royal blue')
submit.grid(row=4, column=2)
root = TestBed.Tk()
root.configure(background="navy")
root.rowconfigure((0, 1, 2, 3, 4, 5, 6, 7, 8, 9), weight=1, pad=50)
root.columnconfigure(1, weight=1, pad=200)
app = MPTest(master=root)
app.mainloop()
我已经尝试将变量设置为 0 和 1,都在 IntVar()
内,然后还尝试在下一行设置之后设置它。但是,这些都不允许单选按钮 selectable
并且将它们设置为 1(已分配的值)不会导致第一个选项在打开 window 时被 selected ].我还尝试将变量的主变量设置为 t (TopLevel
) 和 TestBed
。我尝试的任何事情似乎都不起作用。有时将鼠标悬停在它们上方会 select 所有这些,这看起来很麻烦。但是,当我单击它们时,无论我根据我在此处和其他站点上找到的答案尝试什么,它们都不会保持 selected。我是 Python 的新手,所以如果我做的事情明显愚蠢或错误,我深表歉意,但我们将不胜感激。
问题是 fg='white'
参数与单选按钮的背景颜色冲突(我看到的是白色,我认为您的情况也是如此)。正在进行选择,它只是在白色背景上绘制了一个白点,所以您看不到它。
要补救,请在每个单选按钮中添加以下参数:
selectcolor='navy'
# or any colour of your preference that highlights the white dot
现在您的单选按钮将具有相同的背景颜色,并且白色会突出。