绘制窗体为400*300大小的窗口,标题栏为“My Window"。实现如下效果:
#include "useevent.h"
#include <QtGui/QMouseEvent>
#include <QtGui/QMessageBox>
#include <QtGlobal>
UseEvent::UseEvent(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
setWindowTitle(QString("My Window"));
setFixedWidth(400);
setFixedHeight(300);
installEventFilter(this);
}
bool UseEvent::event(QEvent* e)
{
if (!e->isAccepted() && e->type() == QEvent::MouseButtonPress)
{
QMessageBox::information(NULL, QString("tips"), QString("right click ignored!"));
return true;
}
return false;
}
bool UseEvent::eventFilter(QObject* o, QEvent *e)
{
if (e->type() == QEvent::MouseButtonPress)
{
QMouseEvent* mouseEvent = dynamic_cast<QMouseEvent*>(e);
if (mouseEvent->button() == Qt::RightButton)
{
e->ignore();
}
}
return false;
}
UseEvent::~UseEvent()
{
}