[Interest] QPushButton shortcut works on Qt 4 but not 5
Elvis Stansvik
elvstone at gmail.com
Sat May 7 15:27:38 CEST 2016
Hi all,
Maybe I'm doing something completely wrong, but on Qt 4.8.7, this
works (pressing Ctrl+O prints "clicked"):
test.cpp:
#include <QApplication>
#include <QMainWindow>
#include <QPushButton>
#include <QWidget>
#include <QDebug>
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0) : QMainWindow(parent) {
QPushButton *button = new QPushButton("Click Me (Ctrl+O)");
button->setShortcut(QString("Ctrl+O"));
connect(button, SIGNAL(clicked()), this, SLOT(onClicked()));
setCentralWidget(button);
}
public slots:
void onClicked() {
qDebug() << "clicked";
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MainWindow window;
window.show();
return app.exec();
}
#include "moc_test.cpp"
but on Qt 5.6.0 it does not (nothing printed on Ctrl+O).
test.pro for building:
TEMPLATE = app
greaterThan(QT_MAJOR_VERSION, 4):QT += widgets
TARGET = test
INCLUDEPATH += .
# Input
SOURCES += test.cpp
HEADERS += test.cpp
Any ideas what may be going wrong? My window manager (KWin) is not
intercepting Ctrl+O (obviously). And besides, it doesn't seem to
matter which shortcut I use.
Thanks in advance,
Elvis
More information about the Interest
mailing list