在Python&PyQt5中如何从另一个类加载选项卡的内容?

2024-05-15 02:45:03 发布

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

有一个类MainWindow,其中有一个带制表符的栏。其中一个选项卡创建FactorsTab类,位于控件制表符文件。在

启动崩溃时:

line 13, in init self.table = QtGui.QStandardItemModel(parent=self.frame_factors) AttributeError: 'NoneType' object has no attribute 'QStandardItemModel'

line 13 in file FactorsTabWidget.py: self.table = > QtGui.QStandardItemModel(parent=self.frame_factors)

如何从另一个类生成选项卡的内容?在

文件主.py

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QMainWindow.__init__(self, parent)
        factors_tab = FactorsTabWidget.FactorsTab()
        self.tabs = QtWidgets.QTabWidget()
        self.tabs.addTab(factors_tab, "Factors")        

文件FactorsTabWidget.py

^{pr2}$

Tags: 文件inpyselfinitline选项卡制表符
1条回答
网友
1楼 · 发布于 2024-05-15 02:45:03
  1. 我已经从QtWidgets.QTableView.__init__(self, parent=None) toQtWidgets.QWidget.__init__(self, parent=None)'}

  2. 在字符串QtGui.QStandardItemModel中,将参数从(parent=self.frame_factors)更改为(0, 2)

在Tab中创建表所需的一切都是创建小部件的实例

工作方案:

文件主.py

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QMainWindow.__init__(self, parent)
        self.factors_tab = FactorsTab()
        self.table_tab = TableTab()        
        self.box = QtWidgets.QVBoxLayout()
        self.tabs = QtWidgets.QTabWidget()
        self.tabs.addTab(self.factors_tab, "Factors")
        self.tabs.addTab(self.table_tab, "Table of coding factors")        
        self.setCentralWidget(self.tabs)
        self.tabs.setElideMode(QtCore.Qt.ElideLeft)
        self.tabs.setCurrentIndex(0)
        self.tabs.setUsesScrollButtons(True)
        self.tabs.setLayout(self.box)
        self.add_menu()

文件FactorsTabWidget.py

^{pr2}$

相关问题 更多 >

    热门问题