Qt之去除窗口的标题栏、通过鼠标移动窗口
2024-08-30 02:21:00
设置标题栏图标,位置与大小示例
#include<QApplication>
#include<QWidget>
#include<QDebug>
#include"mywidget.h"
int main(int argc,char **argv)
{
QApplication app(argc,argv);
//功能新的需求:不再使用框架提供的窗口,自定义一个窗口;
//派生类;
MyWidget w; //MyWidget类继承于基类QWidget类;
w.show();
return app.exec();
} //------------ MyWidget.h -------------------
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include<QMouseEvent>
#include <QWidget> class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = );
void mousePressEvent(QMouseEvent *ev);
void mouseMoveEvent(QMouseEvent *ev);
//移动窗口
void mouseReleaseEvent(QMouseEvent *ev);
//释放窗口
//鼠标原始位置
QPoint posMouseOrigin; signals: public slots: }; #endif // MYWIDGET_H //------------ MyWidget.cpp -------------------
#include "mywidget.h"
#include<QDebug>
#include<QWidget>
#include<QPoint>
#include<QMouseEvent>
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent)
{
this->setWindowTitle("QQ ");
this->setWindowIcon(QIcon(":/images/po.jpg"));//设置图标
this->setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏
this->setGeometry(QRect(, , , ));//可设置窗口显示的方位与大小this->setWindowFlags(Qt::FramelessWindowHint); //去掉标题栏; } //获取鼠标的按下操作
void MyWidget::mousePressEvent(QMouseEvent *ev)
{
this->posMouseOrigin = QCursor::pos(); //cursor是一个光标类;
} //获得鼠标移动的操作
void MyWidget::mouseMoveEvent(QMouseEvent *ev)
{
QPoint ptMouseNow = QCursor::pos();
QPoint ptDelta = ptMouseNow - this->posMouseOrigin;
move(this->pos() + ptDelta); posMouseOrigin = ptMouseNow;
} //获得鼠标的释放操作;
void MyWidget::mouseReleaseEvent(QMouseEvent *ev)
{
}
最新文章
- 【代码笔记】iOS-3个section,每个都有header.
- Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系
- extJs学习基础5 理解mvvm的一个小案例
- 计算机网络-TCP连接
- paip.提升性能---mysql 优化cpu多核以及lan性能的关系.
- transform animation transition css3动画
- HTML 5 Web 存储-localStorage
- C# Color Table颜色对照表
- 【剑指offer】八皇后问题
- js模拟触发事件
- 再eclipse的javaweb项目中添加JQuery文件时jquery-2.1.4.min.js报错
- WMDestroy函数调用inherited,难道是为了调用子类覆盖函数?还有这样调用的?
- HDU2571 命运 动态规划
- Mycil命令行MySQL语法高亮和自动补全工具
- Redis设置Key的过期时间 – EXPIRE命令
- vue v-for循环的用法
- HNOI2019 退役记
- npm install Install error: Unexpected token <; in JSON at position 35问题解决
- HDU5293(SummerTrainingDay13-B Tree DP + 树状数组 + dfs序)
- [Aaronyang] 写给自己的WPF4.5 笔记9[复杂数据处理三步曲,数据展示ListView泪奔2/3]