tianmeiyouwo 发表于 2023-9-13 23:07:25

用tkinter写gui 无法显示背景色

from tkinter import *

class PageMain():
    def __init__(self, root):
      self.root = root
      self.root.title('主页面')
      self.root.geometry('800x800')
      Page2(self.root)

class Page2():
    def __init__(self, root):
      self.root = root
      self.initPage()


    def button_click(self):
      # 这里可以添加按钮点击后的操作
      print("按钮被点击了")

    def initPage(self):
      # 创建一个框架并设置背景颜色为 "pink"
      self.initPage = Frame(self.root, width=180, height=800, bg="#302A53")
      self.initPage.pack(side="left")# 将框架放置在左边

      button = Button(self.initPage, text="按钮1")
      button.pack()#




if __name__ == "__main__":
    root = Tk()
    PageMain(root)
    root.mainloop()

为何我在Page2里initPage frame加了个button frame的背景色就无法显示 求大佬告知

isdkz 发表于 2023-9-13 23:07:33

在这段代码中,您在Page2类的initPage方法中创建了一个名为initPage的框架,并将其放置在左侧。但是,您还定义了一个名为initPage的方法,这会覆盖您之前创建的框架。因此,您需要将initPage方法重命名为其他名称,以便您可以访问您创建的框架并设置其背景颜色。例如,您可以将initPage方法重命名为createFrame。

以下是修改后的代码:

from tkinter import *

class PageMain():
    def __init__(self, root):
      self.root = root
      self.root.title('主页面')
      self.root.geometry('800x800')
      Page2(self.root)

class Page2():
    def __init__(self, root):
      self.root = root
      self.createFrame()

    def button_click(self):
      # 这里可以添加按钮点击后的操作
      print("按钮被点击了")

    def createFrame(self):
      # 创建一个框架并设置背景颜色为 "pink"
      self.initPage = Frame(self.root, width=180, height=800, bg="#302A53")
      self.initPage.pack(side="left")# 将框架放置在左边

      button = Button(self.initPage, text="按钮1")
      button.pack()

if __name__ == "__main__":
    root = Tk()
    PageMain(root)
    root.mainloop()


希望这可以帮助您解决问题。
页: [1]
查看完整版本: 用tkinter写gui 无法显示背景色