【问题标题】:Why is frame not displaying on tkinter为什么框架不显示在 tkinter
【发布时间】:2021-01-02 00:55:48
【问题描述】:

我正在尝试构建 2048, 我制作的 GUI 没有问题,但它只显示单元格,而不是我创建的分数框架。 看着它,我自己也找不到任何不对劲的地方。我相信我正确地创建了框架和标签,并且我认为它写在了正确的位置,但我一辈子都看不出它有什么问题。 在我继续之前,有人可以告诉我我做错了什么吗?

import tkinter as tk

class Game(tk.Frame):
    def __init__(self):
        tk.Frame.__init__(self)
        self.grid()
        self.master.title("2048")

        self.main_grid = tk.Frame(
            self, bg="#a5c6e2", bd=3, width=600, height=600
        )
        self.main_grid.grid(pady=(100, 0))
        self.make_GUI()
        self.mainloop()
        

    def make_GUI(self):
        self.cells = []
        for i in range(4):
            row = []
            for j in range(4):
                cell_frame = tk.Frame(
                    self.main_grid,
                    bg="#5593c8",
                    width=150,
                    height=150
                )
                cell_frame.grid(row=i, column=j, padx=5, pady=5)
                cell_number = tk.Label(self.main_grid, bg="#3d84bf")
                cell_number.grid(row=i, column=j)
                cell_data = {"frame": cell_frame, "number":cell_number}
                row.append(cell_data)
            self.cells.append(row)


        score_frame = tk.Frame(self)
        score_frame.place(relx=0.5, rely=45, anchor="center")
        tk.Label(
            score_frame,
            text="score",
            font="helvetica"
        ).grid(row=0)
        self.score_label = tk.Label(score_frame, text="0", font="helvetica")
        self.score_label.grid(row=1)

Game()

【问题讨论】:

  • “我正在尝试构建 2048” - 什么是“2048”?
  • @BryanOakley 这是一个游戏。

标签: python tkinter frame tkinter-canvas tkinter-entry


【解决方案1】:

问题出在score_frame.place(relx=0.5, rely=45, anchor="center")。 relx/rely 只能是 0.0 到 1.0 之间的值,因为它们与您的窗口大小有关。

将依赖设置为 45 会将您的标签放在窗口外大约 45 个窗口大小。

【讨论】:

  • 非常感谢,我一定以为是像素数。
  • 没问题!如果它解决了您的问题,请接受答案。
猜你喜欢
  • 2023-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多