簡體   English   中英

如何從python中的不同類在tkinter中創建多個選項卡

[英]How to create multiple tabs in tkinter from different classes in python

from tkinter import *
from tkinter import ttk

class App(Frame):
    def __init__(self,*args,**kwargs):
       Frame.__init__(self,*args,**kwargs)
       self.notebook = ttk.Notebook()
       self.add_tab()
       self.notebook.grid(row=0)

    def add_tab(self):
        tab = Area(self.notebook)
        tab2 = Volume(self.notebook) 
        self.notebook.add(tab,text="Tag")
        self.notebook.add(tab2,text="Tag2")


class Area(Frame):
   def __init__(self,name,*args,**kwargs):
       Frame.__init__(self,*args,**kwargs)
       self.label = Label(text="Hi This is Tab1")
       self.label.grid(row=1,column=0,padx=10,pady=10)
       self.name = name

class Volume(Frame):
   def __init__(self,name,*args,**kwargs):
       Frame.__init__(self,*args,**kwargs)
       self.label = Label(text="Hi This is Tab2")
       self.label.grid(row=1,column=0,padx=10,pady=10)
       self.name = name

my_app = App()

如何在選項卡中覆蓋Area類的標簽中的卷類標簽,如何解決此問題以及如何在不同的選項卡中添加不同的類內容。

您需要使每個選項卡中的小部件成為選項卡框架的子代。 您沒有為標簽指定父級或母版,因此它們將進入根窗口。

在此代碼的最后一行中注意一下self的使用:

class Area(Frame):
   def __init__(self,name,*args,**kwargs):
       Frame.__init__(self,*args,**kwargs)
       self.label = Label(self, text="Hi This is Tab1")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM