我正在红帽Linux上开发一个Qt应用程序。我想捕获QComboBox中的回车键事件。
我已经连接了一个插槽到信号editTextChanged(),它是为每个按键发出的,而不是为输入键发出的。
为什么会这样呢?有没有其他方法来检测载货回车
发布于 2009-09-02 08:19:00
我假设你写了一个插槽,并将它连接到QComboBox::editTextChanged()信号。
当文本更改而Enter不更改文本时,就会触发此信号,它接受该信号。如果您想要捕获回车,有许多方法,您可以遵循。
QComboBox.
重写keyPressEvent():首先调用QComboBox::keyPressEvent(),然后检查按下的键是否已进入。如果是的话,发射一个信号。
在需要的时候使用这个子类。如果您不知道如何在QDesigner中推广小部件,请进行搜索。QObject的新类。在这个类中,重写eventFilter():检查事件是否是按键。如果是,请检查是否是Enter键。如果是的话,发射一个信号。
然后,创建这个类的一个实例,并将其设置为QComboBox的事件过滤器。将一个插槽连接到此实例的信号,您实现了该信号。如果这些内容不清楚,我建议阅读以下几页:
发布于 2009-09-02 17:17:52
您也可以查看activated( const QString& )信号。它可能会在用户点击enter时发出。
https://stackoverflow.com/questions/1366388
复制相似问题