我在将这些单选按钮与其他小部件一起网格化时遇到了一些麻烦。单选按钮从不进入指定的行,有时会放在多行的中间。
我正在尝试将单选按钮“One”和“Two”与按钮“Quit1”和“Quit2”对齐。
from Tkinter import *
class myFrame(Frame):
def __init__(self, parent):
self.parent = parent
Frame.__init__(self, parent)
self.initUI()
def initUI(self):
self.grid()
v = IntVar()
r1 = Radiobutton(self.parent, text="One", variable=v, value=1)
r2 = Radiobutton(self.parent, text="Two", variable=v, value=2)
quit1 = Button(self, text = "quit1", command = self.master.destroy)
quit2 = Button(self, text = "quit2", command = self.master.destroy)
quit3 = Button(self, text = "quit3", command = self.master.destroy)
quit1.grid(row=0, column=0)
quit2.grid(row=1, column=0)
quit3.grid(row=2, column=0)
r1.grid(row=0, column=1)
r2.grid(row=1, column=1)
def main():
root = Tk()
root.geometry("250x150+300+300")
app = myFrame(root)
root.mainloop()
if __name__ == '__main__':
main()
答案 0 :(得分:2)
问题是 Radiobuttons 的父窗口小部件与按钮的父窗口小部件不同。
只需更改以下两行:
r1 = Radiobutton(self.parent, text="One", variable=v, value=1)
r2 = Radiobutton(self.parent, text="Two", variable=v, value=2)
要:
r1 = Radiobutton(self, text="One", variable=v, value=1)
r2 = Radiobutton(self, text="Two", variable=v, value=2)
请记住,小部件足够伸展,为自己腾出空间,就是这样。