我在Linux上有一个Qt应用程序。
我想编写自定义键盘快捷方式,例如CTRL- Q然后调用一个退出程序的子程序。
发布于 2018-04-09 20:11:08
尝试:
new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this, SLOT(close()));
可以在表单的构造器中创建它。这样可以避免使用访问快捷方式的指针污染类。如果想稍后访问它,可能仍然需要添加指向该快捷方式的指针。当应用程序退出时,该快捷方式将被删除,因为它已成为父项。它会自动进行连接,不必手动完成。
另请注意,Windows上没有默认的Ctrl+Q序列,但Linux和MacOS上有一个。
发布于 2018-04-09 20:50:58
由于CTRL-Q也可能具有菜单项或工具栏条目,你需要QAction。
doc.qt.digia.com/4.6/qaction.html#shortcut-prop
LE:
QAction
例子:
QAction *foo = new QAction(this);
foo->setShortcut(Qt::Key_Q | Qt::CTRL);
connect(foo, SIGNAL(triggered()), this, SLOT(close()));
this->addAction(foo);
https://stackoverflow.com/questions/-100008028
复制相似问题