当前位置: 代码迷 >> QT开发 >> QT窗体标题栏隐藏后mousemoveevent还是不能托动
  详细解决方案

QT窗体标题栏隐藏后mousemoveevent还是不能托动

热度:71   发布时间:2016-04-25 04:54:24.0
QT窗体标题栏隐藏后mousemoveevent还是不能托动,求助
我照网上的帖子把进行操作 ,但是为什么还是不能拖动窗体,各位,麻烦赐教下: 
代码如下
//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看看吧