首页 文章

Python v3,没有正确列出tkinter网格中的单选按钮

提问于
浏览
0

我试图运行一些基本的gui与一些小部件(标签,输入框,单选按钮等...)我已经使用常见的网格方法在tkinter窗口中订购这些小部件(例如row = 1,column = 1)

不过这段代码在这里:

Label(self,
          text = "Customer's Phone Number:",
          ).grid(row = 8, column = 0, sticky = W)

    self.cusPhone = Entry(self)
    self.cusPhone.grid(row = 9, column = 0, sticky = W)

    self.breadType_var = IntVar()
    self.breadType_var.set(0)

    Label(self,
          text = "Bread Type ($2):",
          ).grid(row = 10, column = 0, sticky = W)

    breadType = ["White", "Wheat", "Toasted Herbs"]

    self.breadType_btns = []
    for i in range(len(breadType)):
        rb = Radiobutton(parent, variable = self.breadType_var, value = i, anchor = W, text = breadType[i], command=self.show_sentence)
        self.breadType_btns.append(rb)
        rb.grid(row = i , column = 1)

    Label(self,
          text = "Cheeses ($1):",
          ).grid(row = 16, column = 0, sticky = W)

特别关注breadType列表...直到rb.grid是我认为问题所在 . 它几乎就像它制作第二个网格:rb.grid()在我的第一个网格上:self.grid()

当我运行代码时,单选按钮出现在...

First Output

任何人都可以帮我修改我的代码,以便单选按钮出现在标签面包类型下面或标签水平旁边?

P.S我正在使用一个将'parent'传递给此函数的类 .

编辑:现在显示:

Second Output

1 回答

  • 0

    这几乎就像在这里制作第二个网格的itsenter图像描述:rb.grid()在我的第一个网格上:self.grid()

    这是一个真实的陈述 .

    单选按钮的父级与标签不同 . 虽然它真的想要完成,但我的猜测是,radiobuttons应该有 self 的父级而不是 parent ,因为这是标签小部件用作父级的内容 .

    例如:

    for i in range(len(breadType)):
        rb = Radiobutton(self, ...)
    

相关问题