Python Tkinter OOP布局配置

2024-09-27 09:32:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用tkinter构建一个应用程序。 布局在没有OO原则的情况下工作,但我很难理解如何将其移动到OO

布局如下图所示。(1280x720px) enter image description here


我有以下资料:

  • 顶部带有用户名/欢迎信息的横幅,右角有徽标,columnspan=8
  • 左侧带有按钮的菜单栏,分为两行(第1行:第6行,第2行:第4行)
  • 工作区(白色块)有一个框架,我将在其中添加一个笔记本,每个菜单按钮打开一个不同的笔记本页面

制作此OO的最佳方法是什么?(我仍在学习,对OO来说非常陌生)


Tags: 信息应用程序tkinter情况笔记本布局按钮用户名
1条回答
网友
1楼 · 发布于 2024-09-27 09:32:25

没有直接的翻译是可能的,因为一切都取决于你的需要。 如果你创建一个简单的程序,你可以创建类,创建每个按钮,标签,框架。。。在构造函数中。创建时,必须选择布局管理器网格、打包或放置中的一个。然后创建函数,就完成了。如果你处理更大的项目,并且有大量的标签、按钮等。。您可能需要为每个容器创建容器。 在您的情况下,您不需要很多功能和按钮,因此您可能需要使用基本方法:

from tkinter import *

class name_gui:
    def __init__(self, top):

#specify main window

        self.top = top
        self.title = top.title("name_gui")
        self.minsize = top.geometry("1280x720")
        self.resizable = top.resizable(height=False,width=False)

#create buttons,Labels,Frames..

        self.Button1 = Button(top,text="Button1",command=self.exa_fun)
        self.Button2 = Button(top,text="Button2",command=self.exa_fun2)

#place them, choose grid/place/pack

        self.Button1.place(relx=0.5,rely=0.5)
        self.Button2.place(relx=0.5,rely=0.2)


#create your functions
    
    def exa_fun(self):
        pass

    def exa_fun2(self):
        pass


top = Tk()
exa_gui = name_gui(top)
top.mainloop()

相关问题 更多 >

    热门问题