【问题标题】:tkinter grid method won't worktkinter 网格方法不起作用
【发布时间】:2013-07-12 20:52:47
【问题描述】:

我有这个代码,我制作的标签没有出现在我想要的位置,它只是出现在 0,0 位置请修复这是我的代码:

from tkinter import *

class Application(Frame):
    def __init__(self, master):
        super(Application, self).__init__(master)
        self.grid()
        self.create_widgets()

    def create_widgets(self):
        self.sumbit_lbl = Label(self, text = "Does this work?")
        self.sumbit_lbl.grid(row = 2, column = 3)



root = Tk()
root.title("Does this work?")
root.geometry("200x200")

app = Application(root)

root.mainloop()

【问题讨论】:

    标签: python-3.x tkinter


    【解决方案1】:

    您希望在第 0 行和第 1 行以及第 0、1 和 2 列中看到什么?您没有在其中放置任何内容,因此它们的宽度和高度为零。

    换句话说,它按预期工作。要使行或列可见,它需要指定最小大小,或者行或列中的某些内容。还有其他几种方法可以使其可见,但这一切都归结为您必须明确安排空行或空列可见。

    如果您想向自己证明您的小部件确实位于您指定的行和列中,您可以为所有空行和列设置一个最小尺寸。例如,在你的构造函数中添加这个:

    for row in range(4):
        self.grid_rowconfigure(row, minsize=8)
        for col in range(4):
            self.grid_columnconfigure(col, minsize=8)
    

    【讨论】:

    • 我不明白我使用网格方法将按钮放在那个位置
    • @user2525477:您的小部件 is 在第 2 行第 3 列。问题是,第 0 行和第 1 行的高度为零,因此它们是不可见的。此外,第 0、1 和 2 列的宽度为零,因此它们也是不可见的。
    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2023-01-09
    • 2022-01-21
    相关资源
    最近更新 更多