QLineWidget returnPressed 信号不起作用

Posted

技术标签:

【中文标题】QLineWidget returnPressed 信号不起作用【英文标题】:QLineWidget returnPressed signal not working 【发布时间】:2015-09-06 21:40:13 【问题描述】:

我在QWidget 内有一个QLineWidget,它是一个选项卡(QTabWidget 'page'),我正在尝试使用returnPressed 信号,但它不起作用,它之前工作过但我完全改变了代码结构,它不再是了。

应用程序输出QMetaObject::connectSlotsByName: No matching signal for on_urlEntry_returnPressed()

小部件类头:http://pastebin.com/GbMNmjUD Widget类来源:http://pastebin.com/chdkhBRy

【问题讨论】:

为什么不尝试显式连接信号和插槽? 好的,这可行,但我不确定这是否是最好的方法,即使是,我认为了解我目前的方法出了什么问题很重要。 你能附上你的.ui文件吗? 我没有使用 .ui 文件,我使用 QT Design 创建了 UI,并使用源代码作为基础。 【参考方案1】:

首先,您应该提供一个最小的工作示例,而不是那一堆代码。

其次,如果您只是使用调试器,您会注意到警告出现在第二次调用 QMetaObject::connectSlotsByName 之后。这意味着BrowserTab 对象没有一个名为urlEntry 的子对象和一个名为returnPressed 的信号。发生这种情况是因为您创建的所有控件小部件都成为 BrowserTab::setupUi 中传递的 Browser 对象的子级,而不是 BrowserTab

【讨论】:

【参考方案2】:

为什么要在标签中创建新的小部件作为Browser 的子级?使用this 而不是Browser。 在您的代码中,标签的子元素属于标签的父元素。

【讨论】:

以上是关于QLineWidget returnPressed 信号不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在 QLineEdit returnpressed() 时从 QLineEdit 获取文本以附加到 QTextEdit

PYQT5(二十四)文本框回应回车事件

Pyqt5 输入信息 pushbutton 与 键盘上Enter绑定