本文讲解Qt-无边框可移动可拖拽调整大小窗体。
通过鼠标的按下移动进行窗体的移动,拖拽调整窗体大小。
实现过程如下:文章来源:https://www.toymoban.com/news/detail-827551.html
创建QWidget窗体,添加一个按钮控制窗体的关闭。文章来源地址https://www.toymoban.com/news/detail-827551.html
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <QMouseEvent>
//定义拖拽窗体边缘检测大小
#define PADDING 10
//定义识别所处的边缘位置
enum Direction
{
UP, DOWN, LEFT, RIGHT, LEFTTOP, LEFTBOTTOM, RIGHTBOTTOM, RIGHTTOP, NONE
};
namespace Ui {
class MyWidget;
}
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
~MyWidget();
public:
//鼠标的位置,改变光标
void region(const QPoint ¤tGlobalPoint);
protected:
// 鼠标按下 鼠标相对于窗体的位置
void mousePressEvent(QMouseEvent *event);
//鼠标移动 若鼠标左键被按下,移动窗体位置
void mouseMoveEvent(QMouseEvent *event);
到了这里,关于Qt程序设计-无边框可移动可拖拽调整大小窗体的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!