Lors de l'exécution de ma demande des messages d'avertissement apparaissent:
QMetaObject::connectSlotsByName: No matching signal for on_actionUndo_triggered()
, QMetaObject::connectSlotsByName: No matching signal for on_actionRedo_triggered()
Un message d'avertissement « Pas de signal correspondant pour » lors de l'exécution de ma demande
J'ai mis en œuvre la règle void on_objectName_signalName(signalParameters);
au signal et la fente que j'ai créé et je ne sais pas pourquoi ces messages apparaissent, notez que le signal et la fente fonctionnent bien.
Déclaration:
class Widget : public QWidget {
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
QAction *actionUndo;
QAction *actionRedo;
private slots:
void on_actionUndo_triggered();
void on_actionRedo_triggered();
};
Définition:
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) {
ui->setupUi(this);
QVBoxLayout *layout = new QVBoxLayout(this);
QMenuBar *menuBar = new QMenuBar();
QMenu *editMenu = new QMenu("&Edit");
menuBar->addMenu(editMenu);
this->actionUndo = new QAction("&Undo", editMenu);
this->actionUndo->setShortcut(QKeySequence::Undo);
QObject::connect(this->actionUndo, SIGNAL(triggered()), this, SLOT(on_actionUndo_triggered()));
this->actionRedo = new QAction("&Redo", editMenu);
this->actionRedo->setShortcut(QKeySequence::Redo);
QObject::connect(this->actionRedo, SIGNAL(triggered()), this, SLOT(on_actionRedo_triggered()));
editMenu->addAction(this->actionUndo);
editMenu->addAction(this->actionRedo);
this->layout()->setMenuBar(menuBar);
}
Widget::~Widget() {
delete ui;
}
void Widget::on_actionUndo_triggered() {
}
void Widget::on_actionRedo_triggered() {
}
essayer avec ma solution – eyllanesc