資源簡介
QT自定義窗口 自由拖動 自定義標題

代碼片段和文件信息
#include?“customwindow.h“
#include?
#include?
CustomWindow::CustomWindow(QWidget?*parent)
{
mMoveing=false;
//Qt::framelessWindowHint?無邊框
????//Qt::WindowStaysOnTopHint?窗口在最頂端,不會拖到任務欄下面
setWindowFlags(Qt::framelessWindowHint?|?Qt::WindowMinimizeButtonHint?|Qt::WindowStaysOnTopHint);
this->setstyleSheet(“QDialog{border:2px?solid?green;}“);
}
CustomWindow::~CustomWindow()
{}
//重寫鼠標按下事件
void?CustomWindow::mousePressEvent(QMouseEvent?*event)
{
mMoveing?=?true;
//記錄下鼠標相對于窗口的位置
//event->globalPos()鼠標按下時,鼠標相對于整個屏幕位置
//pos()?this->pos()鼠標按下時,窗口相對于整個屏幕位置
mMovePosition?=?event->globalPos()?-?pos();
return?QDialog::mousePressEvent(event);
}
//重寫鼠標移動事件
void?CustomWindow::mouseMoveEvent(QMouseEvent?*event)
{
//(event->buttons()?&&?Qt::LeftButton)按下是左鍵
//鼠標移動事件需要移動窗口,窗口移動到哪里呢?就是要獲取鼠標移動中,窗口在整個屏幕的坐標,然后move到這個坐標,怎么獲取坐標?
//通過事件event->globalPos()知道鼠標坐標,鼠標坐標減去鼠標相對于窗口位置,就是窗口在整個屏幕的坐標
if?(mMoveing?&&?(event->buttons()?&&?Qt::LeftButton)
&&?(event->globalPos()-mMovePosition).manhattanLength()?>?QApplication::startDragDistance())?
{??
move(event->globalPos()-mMovePosition);
mMovePosition?=?event->globalPos()?-?pos();
}
return?QDialog::mouseMoveEvent(event);
}
void?CustomWindow::mouseReleaseEvent(QMouseEvent?*event)
{
mMoveing?=?false;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1527??2016-06-19?16:06??CustomWindow\CustomWindow\customwindow.cpp
?????文件????????457??2016-06-19?15:48??CustomWindow\CustomWindow\customwindow.h
?????文件?????????72??2016-06-19?15:43??CustomWindow\CustomWindow\customwindow.qrc
?????文件???????9346??2016-06-19?15:56??CustomWindow\CustomWindow\CustomWindow.vcxproj
?????文件???????2466??2016-06-19?15:56??CustomWindow\CustomWindow\CustomWindow.vcxproj.filters
?????文件????????504??2016-06-19?15:56??CustomWindow\CustomWindow\CustomWindow.vcxproj.user
?????文件???????2177??2016-06-19?16:35??CustomWindow\CustomWindow\Debug\CustomWindow.Build.CppClean.log
?????文件????????465??2016-06-19?16:35??CustomWindow\CustomWindow\Debug\CustomWindow.log
?????文件????????179??2016-06-19?15:43??CustomWindow\CustomWindow\main.cpp
?????文件???17977344??2016-06-19?16:35??CustomWindow\CustomWindow.sdf
?????文件????????903??2016-06-19?15:43??CustomWindow\CustomWindow.sln
????..A..H.?????16384??2016-06-19?16:35??CustomWindow\CustomWindow.suo
?????文件???39452672??2016-06-19?15:50??CustomWindow\ipch\customwindow-440ee974\customwindow-89fb3f9f.ipch
?????目錄??????????0??2016-06-19?16:35??CustomWindow\CustomWindow\GeneratedFiles\Debug
?????目錄??????????0??2016-06-19?15:43??CustomWindow\CustomWindow\GeneratedFiles\Release
?????目錄??????????0??2016-06-19?16:35??CustomWindow\CustomWindow\Debug
?????目錄??????????0??2016-06-19?16:35??CustomWindow\CustomWindow\GeneratedFiles
?????目錄??????????0??2016-06-19?15:43??CustomWindow\CustomWindow\Resources
?????目錄??????????0??2016-06-19?15:50??CustomWindow\ipch\customwindow-440ee974
?????目錄??????????0??2016-06-19?15:56??CustomWindow\CustomWindow
?????目錄??????????0??2016-06-19?15:43??CustomWindow\ipch
?????目錄??????????0??2016-06-19?16:35??CustomWindow
-----------?---------??----------?-----??----
?????????????57464496????????????????????22
評論
共有 條評論