为什么QStackedWidget子页面中的widget btn1只能为QStackedWidget定义信号,而不能为QStackedWidget中的page:deviceTypeSelect定义信号?

Why the widget btn1 in the subpage of QStackedWidget can only define signals for QStackedWidget, but not for page: deviceTypeSelect in QStackedWidget?

我想用btn1给deviceTypeSelect的slot函数发送信号,但是btn1只能和QStackedWidget关联。

有两个问题。

第一个是概念性的:设计人员无法了解任何关于将在提升的小部件中实现的自定义插槽,它甚至不应该[=] 22=]。只能以编程方式实现与这些插槽的连接,这是有充分理由的:Designer 无法“检查”(也不应该) 提升的文件源,而且它也是完全有可能推广一个小部件并使用具有相同设计文件的不同 类。

另一个技术问题:QStackedWidget 或 QTabWidget 等多页小部件的“页面”不能用作 Designer 上的信号目标。我不知道它是否只是一个缺失的功能或者它是设计使然(知道如何处理多页小部件插件我不会打赌它),但不幸的是它真的不可能。
如果你想连接到标准的 QWidget 插槽(setEnabled() 等),在页面上设置一个虚拟的盒装布局,并在其中添加另一个 QWidget,但是如果你使用自定义插槽,如前所述,那些 必须通过您的代码手动连接。