从 QWidgetList 访问 QWidget 子插槽/信号 (QList<QWidget*>)



我正在做一个gui应用程序设计器。每次用户创建一个新的小部件时,它都会存储在QWidgetList中。它可以是QPushButton,QLineEdit等等。

例如,假设我有一个QPushButton(索引0(和一个QLineEdit(索引1(。

是否可以访问 WidgetList[

0] 点击的信号,或使用 WidgetList[1] 的插槽集文本?

或者我真的必须为每种类型制作一个QList,比如QList和QList

提前致谢

若要使用新的连接语法,必须将小部件强制转换为正确的类型。 例如:

QPushButton b{“clear”};
QLineEdit e;
QWidgetList widgets{&b, &e};
QObject::connect(qobject_cast<QPushButton*>(widgets[0]), &QPushButton::clicked,
                 qobject_cast<QLineEdit*>(widgets[1]), &QLineEdit::clear);

在设计器用例中,您可能会使用信号和插槽的文本签名或QMetaMethod句柄来引用信号和插槽,然后根本不需要任何强制转换,因为这些connect方法无论如何都会将对象向上转换为QObject

相关内容

  • 没有找到相关文章

最新更新