首页 > 其他分享 >QT Qwidget设置窗口无边框,并且可拖动

QT Qwidget设置窗口无边框,并且可拖动

时间:2022-11-04 14:35:24浏览次数:56  
标签:QT 拖动 void QMouseEvent 边框 Qwidget mouse event Qt

首先设置无边框

在这里一定要注意的是函数名称是setWindowFlags而不是setWindowFlag,

一字之差可能让你头疼半天为什么边框还在,没效果

1 //设置无边框
2 this->setWindowFlags(Qt::FramelessWindowHint);

然后是拖动功能
.h文件设置

1 #include <QMouseEvent>
2  
3 protected:
4     void mouseMoveEvent(QMouseEvent *event);
5     void mousePressEvent(QMouseEvent *event);
6 void mouseReleaseEvent(QMouseEvent *event);
7 private:
8     QPoint mousePoint;
9     bool mouse_press;

.cpp文件设置

 1 void Softdog::mousePressEvent(QMouseEvent *event)
 2 {
 3  
 4     if( (event->button() == Qt::LeftButton) ){
 5         mouse_press = true;
 6         mousePoint = event->globalPos() - this->pos();
 7 //        event->accept();
 8     }
 9     else if(event->button() == Qt::RightButton){
10         //如果是右键
11         this->close();
12  
13     }
14 }
15 void Softdog::mouseMoveEvent(QMouseEvent *event)
16 {
17  
18  
19 //    if(event->buttons() == Qt::LeftButton){  //如果这里写这行代码,拖动会有点问题
20     if(mouse_press){
21         move(event->globalPos() - mousePoint);
22 //        event->accept();
23     }
24 }
25 void Softdog::mouseReleaseEvent(QMouseEvent *event)
26 {
27     mouse_press = false;
28 }

 

标签:QT,拖动,void,QMouseEvent,边框,Qwidget,mouse,event,Qt
From: https://www.cnblogs.com/ybqjymy/p/16857669.html

相关文章

  • Pycharm中安装和配置PyQt5的相关工具
    简介PyQt是Qt框架的Python语言实现,由RiverbankComputing开发,是最强大的GUI库之一。本文主要讲述如何在Pycharm上安装和配置PyQT的相关工具,需要配置的工具有如下几个:QtD......
  • qt输出自定义的pdf文件源码详解
    qt中有两种方式可以输出pdf:方式1:使用QPrinter即打印机的方式打印pdf这种方式,在qt4成为唯一的方式。QPrinterprinter(QPrinter::HighResolution);//高清晰度printer.set......
  • QT6GUI-工程创建
    ......
  • Qt编写音频播放示例(带音频曲线/振幅/传输/录制等)
    一、功能特点自动计算音频振幅,绘制音频振幅曲线和音频数据曲线。支持音频录制,可选音频输入设备、采样频率、通道等参数,Qt5默认保存wav格式,Qt6默认保存mp3格式,Qt6可选wma......
  • libusb系列-004-Qt下使用libusb库
    libusb系列-004-Qt下使用libusb库文章目录​​libusb系列-004-Qt下使用libusb库​​​​摘要​​​​复制库到指定目录​​​​在Pro中包含库文件​​​​包含头文件​​​......
  • 迅为3568开发板Ubuntu 系统交叉编译 Qt 工程
    在上一个小节,我们是在Ubuntu上编写Qt工程,并在Ubuntu上运行Qt工程。本小节将在Ubuntu上编写编写Qt工程,然后交叉编译好可执行程序,在iTOP-3568开发板上运行程序......
  • qt错误?undefinedreferenceto`_imp___ZN10QTcpSocketD1Ev
    错误信息:undefinedreferenceto`_imp___ZN10QTcpSocketD1Ev'undefinedreferenceto`_imp___ZN10QTcpSocketC1EP7QObject'undefinedreferenceto`_imp___ZN10QTcpSo......
  • C/C++ Qt 数据库与Chart实现历史数据展示
    在前面的博文中具体介绍了QChart组件是如何绘制各种通用的二维图形的,本章内容将继续延申一个新的知识点,通过数据库存储某一段时间节点数据的走向,当用户通过编辑框提交查询记......
  • QT5.6构建打包exe方法
    打包方法项目构建为Release,将Release文件夹里的exe文件拷贝的新建文件夹out中.运行QT的MingGW,进入文件夹out执行命令:windeployqt.exeSerialport_app.exe......
  • QT——Qss样式表设置
    //一、设置QgroudBox样式/*设置groudbox边框样式后,标题会下沉,已解决*/QGroupBox{border:1pxsolidrgb(227,135,172);margin-top:2.3ex;border-radi......