鱼C论坛

 找回密码
 立即注册
查看: 1571|回复: 1

用tkinter写gui 无法显示背景色

[复制链接]
发表于 2023-9-13 23:07:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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的背景色就无法显示 求大佬告知
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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()

希望这可以帮助您解决问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 12:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表