首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt当按钮被禁用时,禁用QShortcut到按钮

Qt当按钮被禁用时,禁用QShortcut到按钮
EN

Stack Overflow用户
提问于 2011-12-09 08:17:36
回答 1查看 1.2K关注 0票数 1

我是QT的初学者。我已经使用QShortcuts将按键绑定到按钮。

代码语言:javascript
复制
QShortcut *sb_0 = new QShortcut(QKeySequence(Qt::Key_0), this);
connect(sb_0, SIGNAL(activated()), ui.b_0, SIGNAL(clicked()));

但是,当禁用b_0时,快捷键仍然有效。

代码语言:javascript
复制
ui.b_0->setEnabled(FALSE);

我希望,不知何故,当我禁用按钮时,快捷键将被禁用。我在想,我可以断开QShortcut与QPushbutton的连接;然而,这似乎不是最好的主意。

另外,我想知道是否有可能有它,以便当按下键'0‘时,按钮向下(被按下),然后当它被释放时,按钮恢复正常。所以基本上,按下'0‘就像按住鼠标左键点击b_0一样。

如果这个问题已经被回答了(我找不到答案),请让我知道。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-09 10:06:31

你为什么不直接在QPushButton上调用setShortcut呢?

代码语言:javascript
复制
void  setShortcut ( const QKeySequence & key )

这是在QAbstractButton类中提供的,因此它可能不是文档中最明显的内容。

代码语言:javascript
复制
 ui.b_0->setShortcut(QKeySequence(Qt::Key_0));

这应该能起到作用。该按钮已经处理了未启用该按钮时应该发生的情况。

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

https://stackoverflow.com/questions/8439543

复制
相关文章

相似问题

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