我的GUI由 LineEdit 和 PushButton 组成 . 单击 PushButton 时,将调用插槽 clicked()
. 我想在 clicked()
作为信号和 doSomething()
作为插槽之间 Build 信号槽关系 . 问题是 doSomething()
无权访问UI, doSomething()
依赖于 LineEdit 的文本 .
我看到两个解决方案:
-
授予UI doSomething()访问权限 .
-
我希望能够将QString作为参数传递给doSomething() . clicked()不接受任何参数 . Qsignalmapper可能就是我想要的 . 但是,似乎映射器只根据信号传递参数 . 因此,需要提前设置参数,似乎这对我没有帮助 .
我该如何解决方案2?
1 回答
假设有一个C解决方案,您可以考虑在#2中使用如下的中间信号:
然后:
还有他们:
请注意,此代码段假定您已定义新信号
sigDoSomething(const QString &)
和私有插槽void slotDoSomething(const QString &)
.