本文講解Qt-無邊框可移動可拖拽調(diào)整大小窗體。
通過鼠標(biāo)的按下移動進(jìn)行窗體的移動,拖拽調(diào)整窗體大小。
實現(xiàn)過程如下:文章來源:http://www.zghlxwxcb.cn/news/detail-827551.html
創(chuàng)建QWidget窗體,添加一個按鈕控制窗體的關(guān)閉。文章來源地址http://www.zghlxwxcb.cn/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:
//鼠標(biāo)的位置,改變光標(biāo)
void region(const QPoint ¤tGlobalPoint);
protected:
// 鼠標(biāo)按下 鼠標(biāo)相對于窗體的位置
void mousePressEvent(QMouseEvent *event);
//鼠標(biāo)移動 若鼠標(biāo)左鍵被按下,移動窗體位置
void mouseMoveEvent(QMouseEvent *event);
到了這里,關(guān)于Qt程序設(shè)計-無邊框可移動可拖拽調(diào)整大小窗體的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!