簡體   English   中英

Class 繼承 Tkinter LabelFrame 不顯示內容

[英]Class Inheriting Tkinter LabelFrame Not Displaying Contents

正如標題所說,我創建了一個繼承自 tkinter 的 LabelFrame (BatteryCapacityLFrame) 的 class,並且我正在嘗試對其進行初始化,使其顯示為 LabelFrame。 但是,當我運行代碼時,電池選項卡不顯示 LabelFrame。 我該如何解決這個(我認為是)inheritance 問題?

代碼:

import tkinter as tk
from tkinter import ttk
from tkinter import *

class PanelManager(tk.Tk):
    def __init__ (self):
        #initializing tkinter within initialization function
        tk.Tk.__init__(self)
        self.title("Combat Robotics Calculator")
        self.panel_manager = ttk.Notebook(self)
        self.add_battery_tab("Batteries")
        self.add_tab("Pulleys")
        self.add_tab("Drive System")
        self.add_tab("Weapon System")

    def add_tab(self, title):
        tab_frame = Frame(self.panel_manager)
        self.panel_manager.add(tab_frame, text = title)
        self.panel_manager.pack()

    def add_battery_tab(self, title):
        battery_tab = BatteryTab(self)
        self.panel_manager.add(battery_tab, text = title)
        self.panel_manager.pack()


    def run(self):
        self.mainloop()


class BatteryTab(tk.Frame):
        def __init__ (self, master):

            tk.Frame.__init__(self, master)
            #Capacity Calculator
            capacity_calcf = BatteryCapacityLFrame(self)
            capacity_calcf.grid(column = 1, row = 1, sticky = "news")

#I'm trying to initialize the class here, not sure what's going wrong
class BatteryCapacityLFrame(tk.LabelFrame):
    def __init__ (self, master):
        tk.LabelFrame.__init__(self, master)
        self.config(text = "Battery Capacity Calculator")


root_window = PanelManager()
root_window.run()

非常感謝大家的時間!

您需要在標簽框中添加一些內容才能顯示出來。

class BatteryCapacityLFrame(tk.LabelFrame):
    def __init__(self, master):
        tk.LabelFrame.__init__(self, master)
        self.config(text="Battery Capacity Calculator")

        tk.Label(self, text='Test message.').grid()

暫無
暫無

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

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