This is my class declaration:
class Browser : public QWidget {
Q_OBJECT
public:
Browser(QWidget *parent = 0);
QStringList loadSettings(QString settings_file);
private slots:
void toggleFullscreen();
private:
void createActions();
QAction *aToggleFullscreen;
};
And relevand definitions:
void Browser::toggleFullscreen() {
out << "fullscreen!" << endl;
}
void Browser::createActions() {
aToggleFullscreen = new QAction(this);
aToggleFullscreen->setShortcut(tr("F11"));
connect(aToggleFullscreen, SIGNAL(triggered()), this, SLOT(toggleFullscreen()));
}
I’m calling createActions() from Browser::Browser.
I have no runtime warning that slot doesn’t exists, etc. But still nothing is triggered if I hit F11.
I tried also:
aToggleFullscreen->setShortcut(QString("F11"));
What is it wrong with my code?
You forgot to actually add your action to the Browser, so it never gets triggered. This should work: