If you want to do something with the right click you should subclass the contextMenuEvent(QContextMenuEvent *event)
Mywidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QtGui>
{
Q_OBJECT
public:
explicit MyWidget
(QWidget *parent
= 0);
protected:
public slots:
private:
};
#endif // MYWIDGET_H
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QtGui>
class QAction;
class MyWidget : public QDateEdit
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
protected:
virtual void contextMenuEvent(QContextMenuEvent *event);
public slots:
private:
QAction *actionNew;
};
#endif // MYWIDGET_H
To copy to clipboard, switch view to plain text mode
MyWidget.cpp
#include <QMessageBox>
#include <QAction>
#include "mywidget.h"
MyWidget
::MyWidget(QWidget *parent
):{
setDate
(QDate(1977,
2,
15));
actionNew
= new QAction(tr
("Do Something New"),
this);
// connect(actionNew, SIGNAL(triggered()), this, SLOT(DoSomethingNew()));
}
{
menuRight.addAction(actionNew);
menuRight.exec(event->globalPos());
}
#include <QMessageBox>
#include <QAction>
#include "mywidget.h"
MyWidget::MyWidget(QWidget *parent ):
QDateEdit(parent)
{
setDate(QDate(1977,2,15));
actionNew = new QAction(tr("Do Something New"), this);
actionNew->setShortcuts(QKeySequence::New);
// connect(actionNew, SIGNAL(triggered()), this, SLOT(DoSomethingNew()));
}
void MyWidget::contextMenuEvent(QContextMenuEvent *event)
{
QMenu menuRight(this);
menuRight.addAction(actionNew);
menuRight.exec(event->globalPos());
}
To copy to clipboard, switch view to plain text mode
NOTE: this code replaces the default context menu
Bookmarks