首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获QComboBox中的文本更改事件

问捕获QComboBox中的文本更改事件
EN

Stack Overflow用户
提问于 2009-09-02 08:08:17
回答 2查看 4.6K关注 0票数 1

我正在红帽Linux上开发一个Qt应用程序。我想捕获QComboBox中的回车键事件。

我已经连接了一个插槽到信号editTextChanged(),它是为每个按键发出的,而不是为输入键发出的。

为什么会这样呢?有没有其他方法来检测载货回车

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-02 08:19:00

我假设你写了一个插槽,并将它连接到QComboBox::editTextChanged()信号。

当文本更改而Enter不更改文本时,就会触发此信号,它接受该信号。如果您想要捕获回车,有许多方法,您可以遵循。

  1. 子类QComboBox. 重写keyPressEvent():首先调用QComboBox::keyPressEvent(),然后检查按下的键是否已进入。如果是的话,发射一个信号。 在需要的时候使用这个子类。如果您不知道如何在QDesigner中推广小部件,请进行搜索。
  2. 实现继承QObject的新类。在这个类中,重写eventFilter():检查事件是否是按键。如果是,请检查是否是Enter键。如果是的话,发射一个信号。 然后,创建这个类的一个实例,并将其设置为QComboBox的事件过滤器。将一个插槽连接到此实例的信号,您实现了该信号。

如果这些内容不清楚,我建议阅读以下几页:

在Qt设计器中使用自定义小部件

Qt事件&事件过滤器

票数 4
EN

Stack Overflow用户

发布于 2009-09-02 17:17:52

您也可以查看activated( const QString& )信号。它可能会在用户点击enter时发出。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1366388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档