我照网上的帖子把进行操作 ,但是为什么还是不能拖动窗体,各位,麻烦赐教下:
代码如下
//dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include <QtGui/QMainWindow>
#include <QPoint>
#include <QMouseEvent>
class dialog : public QMainWindow
{
Q_OBJECT
public:
dialog(QWidget *parent = 0);
~dialog();
void mousePressEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
QPoint dragPosition;
};
#endif // DIALOG_H
然后是dialog.cpp
#include "dialog.h"
dialog::dialog(QWidget *parent)
: QMainWindow(parent)
{
// setWindowFlags(Qt::FramelessWindowHint);
}
dialog::~dialog()
{
}
void dialog::mousePressEvent(QMouseEvent *e)
{
if(e->button()==Qt::LeftButton)
{
dragPosition = e->globalPos() - frameGeometry().topLeft();
e->accept();
}
else
{
}
}
void dialog::mouseMoveEvent(QMouseEvent *e)
{
if (e->button() & Qt::LeftButton)
{
move(e->globalPos() - dragPosition);
e->accept();
}
}
mousepressevent和mousemoveevent里面的代码是网上搬下来的,可是不行啊,麻烦谁知道的说一声。
------解决方案--------------------
这个代码是我程序里的,基本上粘过去就能用,LZ看看吧