首页 > 解决方案 > 如何用信号通知 UI 实例/对象的插槽

问题描述

我正在尝试创建一个动态交互式 UI。

这是它的样子

主窗口

我正在使用单个类来生成 UI 的修改版本

class CommonUi(QObject):
    def __init__self(UIObj):
        super().__Init__()
        self.name = QtWidgets.QLabel(self.UiObj)
        self.nameEdit = QtWidgets.QLabel(self.UiObj)
        self.nameEdit.EditingFinished["Text"].connect(self.nameEditSlot)
    @pyqt5Slot()
    def nameEditSlot(self):
        #Does something with the nameEdit text


class MainWindow(QObjet):
    def setUpUi(self,MainWindow):
        TabWidget = QtWidgets.QTabWidget(MainWindow)
        Tab1
        Tab2
        Tab3
        TabWidget.addTab(Tab1)

   # SLOT for the Combo box dropdown
    def dropDownSlot():
        if dropDown.currentIndex == 0:
            TabWidget.addTab(Tab2)
            obj1 = commonUi(Tab2)
        elif dropDown.currentIndex == 1:
            TabWidget.addTab(Tab3)
            obj2 = commonUi(Tab3)

虽然 UI 显示工作正常,但当我在行编辑中输入内容时不会触发任何插槽。我猜我需要将对象的信号连接到该对象的插槽。不知道如何使它工作。

标签: python-3.xpyqt5signals-slotsdynamic-ui

解决方案


推荐阅读