我有一个视图显示一个表小部件,我想让这个基本视图的孩子。你知道吗
这是基本视图
cwd = os.getcwd()
base_startup_path = os.path.join(cwd, r'gui\BaseView.ui')
Ui_base_startup, QtBaseClass = uic.loadUiType(base_startup_path)
class BaseView(QtBaseClass, Ui_base_startup):
def __init__(self, parent, device_controller):
super(BaseView, self).__init__( parent)
self.ui = Ui_base_startup.__init__(self, parent)
self.setupUi(self)
self.device_controller = device_controller
# Create model
self.table_model = TableModel(self.device_controller.device_model_list)
# Insert table to current view
self.table_widget = AbstractTableView(self, self.table_model)
self.verticalLayout.insertWidget(1, self.table_widget.tableView)
# Button connection
self.m_test_pcb.clicked.connect(self.start_test)
def start_test(self):
boot_app_first = True
self.setup_test_module()
self.device_controller.start_connection(boot_app_first)
def setup_test_module(self):
self.device_controller.test_module = start_acquisition()
那么,我想让这个孩子更具体一点
class SpecificView(BaseView):
def __init__(self, parent, device_controller):
super(SpecificView, self).__init__(parent, device_controller)
# Specific stuff to be added
self.m_test_pcb.setText('Debug Device')
def setup_test_module(self):
self.device_controller.test_module = specific_test()
因此BaseView被添加到堆叠小部件的第0页,SpecificView被添加到同一个堆叠小部件的第1页。当我运行应用程序时,堆叠小部件的第0页和第1页都显示相同的按钮(显示不同的文本)和相同的表。在这一点上,一切都很顺利。你知道吗
当我按下第0页上的按钮时,第0页的表被填充。但是,当我按下第1页上的按钮时,第1页的表将一无所获,而第0页的表将被填充。你知道吗
在c++中,继承将创建两个表\u小部件和两个表\u模型,并且可以工作,但是我似乎缺少了一些Python代码。你知道吗
编辑:我添加了start\u测试函数
我解决了,问题是self.table\u模型由于缺少连接,未在子实例化中更新
相关问题 更多 >
编程相关推荐