我正在 Red Hat Linux 上开发一个 Qt 应用程序。我想在QComboBox
.
我已经将一个插槽连接到editTextChanged()
每次按键而不是Enter Key发出的信号。
为什么这样?有没有其他方法可以检测回车?
我假设您编写了一个插槽并将其连接到QComboBox::editTextChanged()
信号。当文本更改并且Enter不更改文本
时会触发此信号,它会接受它。如果您想捕获回车,可以采用多种方法。
子类QComboBox
。
覆盖keyPressEvent()
:首先调用QComboBox::keyPressEvent()
,然后检查按下的键是否为Enter。如果是,则发出信号。
需要时使用这个子类。如果您不知道如何在 QDesigner 中搜索有关推广小部件的信息。
实现一个继承的新类QObject
。在这个类中, override eventFilter()
:检查事件是否是按键。如果是,请检查是否是Enter键。如果是,则发出信号。
然后,创建此类的一个实例并将其设置为您的QComboBox
. 将插槽连接到您实现的此实例的信号。
如果这些不清楚,我建议阅读以下页面:
您也可以查看activated( const QString& )
信号。当用户点击回车时,它可能会发出。