Qt 自定义界面(实现无边框、可移动)
设置窗口标志为无边框
this->setWindowFlags(Qt::FramelessWindowHint);
设置无边框之后,窗体是无法移动的,下面我们介绍两种方式来进行移动。
1. Qt事件:重写函数
// 鼠标相对于窗体的位置 event->globalPos() - this->pos()
void Widget::mousePressEvent(QMouseEvent *event)
{if (event->button() == Qt::LeftButton){m_bPressed = true;m_point = event->pos();}
}// 若鼠标左键被按下,移动窗体位置
void Widget::mouseMoveEvent(QMouseEvent *event)
{if (m_bPressed)move(event->pos() - m_point + pos());
}// 设置鼠标未被按下
void Widget::mouseReleaseEvent(QMouseEvent *event)
{Q_UNUSED(event);m_bPressed = false;
}
2.Win API
包含头文件与需要用到的库
#ifdef Q_OS_WIN
#pragma comment(lib, "user32.lib")
#include <qt_windows.h>
#endif
发送系统消息,进行移动
void Widget::mousePressEvent(QMouseEvent *event)
{
#ifdef Q_OS_WINif (ReleaseCapture())SendMessage(HWND(winId()), WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);event->ignore();
#else
#endif
}
Qt 自定义界面(实现无边框、可移动)相关推荐
- QT实现完美无边框窗口(可拖动,可调整大小)
效果如下: 只需定义 nativeEvent 事件即可完成这样的功能 ,但要注意的是,这是通过Windows api实现的. 样例如下:(注意头文件) framelesswidget.h #ifnde ...
- 【QT】自定义无边框窗口分享
[QT/天下wu双]自定义无边框窗口分享 https://www.bilibili.com/video/BV1HA411Y7d4 源码链接:https://github.com/Bili-TianX/ ...
- Qt Quick无边框窗口
开发环境:Qt Creator 5.6 内容: 使用 Qt Quick创建无边框窗口 Qt Quick是一个无比强大.无比方便快捷的跨平台的开发框架,并且能通过Qt强大的元对象系统实现qml与c+ ...
- Qt 暗夜黑主题教程(一) 创建带圆角和阴影的无边框窗口
创建项目 创建一个主窗口为 QWidget 类.带 UI样式表的项目.我的项目名叫 NightDark,窗口类名叫 Widget,刚入门的小白可以跟我命名保持一致方便学习,大佬自便.(不对,大佬怎么来 ...
- Qt 之 设置窗口边框的圆角
Qt技术学习班开始了,更多精彩.好玩的内容等着你,赶紧报名吧! 群号:655815739 Qt在设置窗口边框圆角时有两种方式,一种是设置样式,另一种是在paintEvent事件中绘制窗口.下面分别叙述 ...
- Qt中设置窗口边框的圆形
Qt在设置窗口边框圆角时有两种方式,一种是设置样式,另一种是在paintEvent事件中绘制窗口. 下面分别叙述用这两种方式来实现窗口边框圆角的效果. 一.使用setStyleSheet方法 this ...
- qt widget设置边框_Qt开源作品16-通用无边框拖动拉伸
## 一.前言 相信各位CS结构开发的程序员,多多少少都遇到过需要美化界面的事情,一般都不会采用系统的标题栏,这样就需要无边框标题栏窗体,默认的话无边框的标题栏都不支持拉伸和拖动的,毕竟去掉了标题栏则 ...
- QT实现可移动和改变尺寸的无边框窗口
2019独角兽企业重金招聘Python工程师标准>>> 实现QT无边框窗口的拖动,尺寸改变.需要的时候从该类继承,派生类需要定义为QWidget. 头文件: #ifndef SIZE ...
- Qt无边框窗体(Windows)
Qt无边框窗体Windows篇 去掉标题栏和边框 实现拖拽功能 还原窗体功能 注意点 我们可以做的更好 添加阴影 亚克力面板效果 结语 去掉标题栏和边框 首先第一步我们要通过设置系统绘制的边框消失 s ...
最新文章
- 决策树算法(四)——选取最佳特征划分数据集
- m.soudashi.cn 地图_SEO人员怎样挖掘大量关键词库
- webrtc一对一通话
- 104. 二叉树的最大深度 golang
- ap接口 php_2018年小米高级 PHP 工程师面试题(模拟考试卷)
- Python学习笔记:PMT与PV函数
- django 1.8 官方文档翻译: 2-2-3 查找 API 参考
- 【Java】 环境变量如何配置?
- MD4、MD5、SHA1、HMAC、HMAC_SHA1区别
- AVR单片机计算器C语言源程序,基于AVR单片机的简易计算器设计
- 10负3次方计算机语言,10的负3次方等于多少?
- hdu Intelligent IME
- 如何应对阿里、美团、Oracle等大厂的面试刁难?
- iphone html5 模板,聊聊IPHONE6分辨率与适配
- 感受Java的魅力——基于Java二维数组和if语句编制的税后工资计算方法
- video标签实现多个视频循环播放
- 为网站配置免费的HTTPS证书 2-4
- Visual Studio的下载与安装
- Servlet-个人归纳总结
- (Modern Family S01E01) Part 7 PhilClair Dylan初访Dunphy家
热门文章
- smote算法_支持向量机算法的可解释和可视化
- 中国农业大学营养与健康研究院诚聘博士后
- 第十届蓝桥杯大赛青少年创意编程C++组省赛 第1题 水下探测器
- RTX5 | 时间延时
- 3倍根号x加1分之一c语言,用C语言将一个数开根号后再取倒数的方法
- 正确的python变量名_在Python,如何将变量名作为字符串?_others_酷徒编程知识库...
- Qt文档阅读笔记-QFuture官方解析及实例
- canvas笔记-阴影的使用
- Spring Boot中使用模板引擎参数化传参数
- C++文档阅读笔记-STL中pair的初步解析