Python tkinter无意中创建了两个窗口
我正在尝试使用tkinter在Python3中构建一个简单的计算器。计算器由一个ttk笔记本拆分,以将功能划分为多个组,每个笔记本框架(一旦我修复了这个)都应该是它自己的类。然而,当我运行给定的代码时,我得到了两个窗口:一个是笔记本+标签,但没有内容,另一个是完全空白的。如何初始化第二个窗口,如何停止它/将电池选项卡内容添加到电池选项卡?非常感谢您抽出时间Python tkinter无意中创建了两个窗口,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我正在尝试使用tkinter在Python3中构建一个简单的计算器。计算器由一个ttk笔记本拆分,以将功能划分为多个组,每个笔记本框架(一旦我修复了这个)都应该是它自己的类。然而,当我运行给定的代码时,我得到了两个窗口:一个是笔记本+标签,但没有内容,另一个是完全空白的。如何初始化第二个窗口,如何停止它/将电池选项卡内容添加到电池选项卡?非常感谢您抽出时间 import tkinter as tk from tkinter import ttk from tkinter import * cl
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):
tab_frame = Frame(self.panel_manager)
self.panel_manager.add(tab_frame, text = title)
self.panel_manager.pack()
battery_tab = BatteryTab()
self.panel_manager.pack()
def run(self):
self.mainloop()
class BatteryTab(tk.Tk):
def __init__ (self):
tk.Tk.__init__(self)
#Capacity Calculator
capacity_calcf = LabelFrame(self, text = "Battery Capacity Calculator").grid(column = 0)
test = Label(capacity_calcf, text = "testing, testing, 1,2,3")
#C Rating Calculator
c_rating_calcf = LabelFrame(self, text = "Required C Rating Calculator").grid(column = 1)
root_window = PanelManager()
root_window.run()
您的程序中应该只有一个
Tk()
(或从Tk
派生的任何类)的实例BatteryTab
应该是Frame
的一个子类,您应该在add\u battery\u tab()
中将它(而不是空框架)添加到panel\u manager
中的panel\u manager
。您的程序中应该只有Tk()
的一个实例(或从Tk
派生的任何类)BatteryTab
应该是Frame
的子类,您应该在add\u battery\u tab()
中将该子类(而不是空框架)添加到panel\u manager
中。