#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <cassert>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QAction* back = new QAction(this);
back->setVisible(true);
back->setShortcut(QKeySequence("Ctrl+M"));
bool cres = connect(back, SIGNAL(triggered(bool)), this, SLOT(mySlot()));
assert(cres);
}
在这段代码中,我尝试捕捉
Ctrl+M
键事件。 我不想将动作放在菜单中。connect
返回true,但是mySlot
从未被调用过。当动作被插入到菜单中时,快捷方式可以正常工作。我做错了什么?
QShortcut
类。 - vahanchoQShortcut
没有GUI就无法工作。根据文档:“当快捷键的父窗口小部件正在接收事件时,Qt的事件循环会“侦听”快捷键。” - Kuba hasn't forgotten Monica