我在QWidget
里面有一个QLineWidget
,这是一个选项卡(QTabWidget
'page'),我试图使用returnPressed
信号,但它不起作用,它以前工作过,但我完全改变了代码结构,它不再了。
应用程序输出QMetaObject::connectSlotsByName: No matching signal for on_urlEntry_returnPressed()
部件类头:http://pastebin.com/GbMNmjUD
小部件类来源:http://pastebin.com/chdkhBRy
首先,您应该提供一个最小的工作示例,而不是那堆代码。
其次,如果您只是使用调试器,您会注意到在第二次调用QMetaObject::connectSlotsByName
之后出现警告。这意味着BrowserTab
对象没有一个名为urlEntry
的子对象和一个名为returnPressed
的信号。这是因为您创建的所有控件控件都成为传递给BrowserTab::setupUi
而不是BrowserTab
的Browser
对象的子对象。
为什么要在选项卡中创建新的小部件作为Browser
的子部件?使用this
代替Browser
。在你的代码中,标签的子元素属于标签的父元素。