如何在python

时间:2017-07-14 16:02:40

标签: python tkinter

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类标签的卷类标签 我如何解决这个问题,以及如何在不同的标签中添加不同的类。

1 个答案:

答案 0 :(得分:0)

您需要使每个标签中的小部件成为标签框的子元素。您没有为标签指定父级或主级,因此它们将进入根窗口。

注意在此代码的最后一行使用self

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