python-3.x - 如何用信号通知 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 显示工作正常,但当我在行编辑中输入内容时不会触发任何插槽。我猜我需要将对象的信号连接到该对象的插槽。不知道如何使它工作。
解决方案
推荐阅读
- php - Laravel中具有关系的种子数据
- visual-studio-2017 - VS 2017 15.7.2 Manage Nuget Package报错“Visual Studio组件缓存已过期请重启Visual Studio”
- getorgchart - JSON 使用 getorgchart 创建树
- angular - ng2-ckeditor 工具栏无法正常工作
- symfony - 在请求期间检索实体而不是持久化它
- database - 保存在数据库中时所有时区的 Laravel 时间延迟
- rxjs - 切换到新的 observable,将上一个 observable 中的最新作为输入
- javascript - MediaElement.buffered IndexSizeError
- c# - 运行 CMD.exe 或 netsh.exe 的区别
- ssis - 如何使用 SQL Server 身份验证使用目录进行 SSIS 包部署?