Qt Window Dialog 無標題欄 ,無邊框,可拖動

1.效果:

2. 主要實現步驟:

設置窗口 flag:

this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);

?創建變量存儲位置

QPoint m_dragPosition;

對鼠標左鍵按下和移動事件做處理

void DraggableDialog::mousePressEvent(QMouseEvent *event)   {isDragging = true;dragPos = event->globalPos() - frameGeometry().topLeft();
}// 鼠標移動事件,實現拖動
void DraggableDialog::mouseMoveEvent(QMouseEvent *event)   {if (isDragging) {move(event->globalPos() - dragPos);}
}// 鼠標釋放事件,結束拖動
void DraggableDialog::mouseReleaseEvent(QMouseEvent *event)   {isDragging = false;
}

3 .code:

#ifndef DRAGGABLEDIALOG_H
#define DRAGGABLEDIALOG_H#include <QDialog>
#include <QMouseEvent>
namespace Ui {
class DraggableDialog;
}class DraggableDialog : public QDialog
{Q_OBJECTpublic:explicit DraggableDialog(QWidget *parent = nullptr);~DraggableDialog();protected:// 鼠標按下事件,記錄點擊位置void mousePressEvent(QMouseEvent *event) override;// 鼠標移動事件,實現拖動void mouseMoveEvent(QMouseEvent *event) override;// 鼠標釋放事件,結束拖動void mouseReleaseEvent(QMouseEvent *event) override ;private:bool isDragging;QPoint dragPos;private:Ui::DraggableDialog *ui;
};#endif // DRAGGABLEDIALOG_H

cpp

#include "draggabledialog.h"
#include "ui_draggabledialog.h"DraggableDialog::DraggableDialog(QWidget *parent) :QDialog(parent),ui(new Ui::DraggableDialog)
{ui->setupUi(this);// 設置窗口無邊框this->setWindowFlags(Qt::FramelessWindowHint);setToolTip("窗口無邊框,可拖動");
}DraggableDialog::~DraggableDialog()
{delete ui;
}
void DraggableDialog::mousePressEvent(QMouseEvent *event)   {isDragging = true;dragPos = event->globalPos() - frameGeometry().topLeft();
}// 鼠標移動事件,實現拖動
void DraggableDialog::mouseMoveEvent(QMouseEvent *event)   {if (isDragging) {move(event->globalPos() - dragPos);}
}// 鼠標釋放事件,結束拖動
void DraggableDialog::mouseReleaseEvent(QMouseEvent *event)   {isDragging = false;
}

main

int main(int argc, char *argv[]) {QApplication app(argc, argv);DraggableDialog dialog;dialog.show();return app.exec();
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/22316.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/22316.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/22316.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java 集合中的組內平均值計算

在Java開發中&#xff0c;集合&#xff08;Collection&#xff09;是一個重要的數據結構&#xff0c;廣泛應用于各種場景。計算集合中的組內平均值是一個常見的操作&#xff0c;尤其是在數據分析、統計和處理時更為重要。本文將深入探討如何使用Java來計算集合中的組內平均值&a…

Web 頁面性能衡量指標-以用戶為中心的效果指標

Web 頁面性能衡量指標-以用戶為中心的性能指標 以用戶為中心的性能指標是理解和改進站點體驗的關鍵點 一、以用戶為中心的性能指標 1. 指標是用來干啥的&#xff1f; 指標是用來衡量性能和用戶體驗的 2. 指標類型 感知加載速度&#xff1a;網頁可以多快地加載網頁中的所有…

如何在vs code中安裝JavaFX

目錄 下載JavaFX 配置vs code工程 編寫測試代碼 下載JavaFX 網站鏈接:https://openjfx.io 選擇如下的版本

從1.0到4.0,看看你公司的費控模式是第幾代?

早在2021年9月&#xff0c;艾媒咨詢在《2021H1企業費控報銷服務專題研究報告》中&#xff0c;第一次對企業費用管控模式的進化歷程進行了清晰的劃代&#xff1a;1.0手工模式、2.0網報模式、3.0移動報銷模式、4.0智能費控模式。 2022年&#xff0c;在《中國企業費用管理發展白皮…

vr樣板房實景漫游展示制作解決了地產商難題

家具和軟裝銷售中&#xff0c;如何直觀展示產品優勢一直是老板們的難題。口頭描述往往難以讓客戶真正感受到產品的獨特之處&#xff0c;這不僅影響了銷售效果&#xff0c;也增加了溝通的難度。但現在&#xff0c;我們有了全新的解決方案——樣板房VR全景編輯軟件! 樣板房VR全景…

精打細算:可燃氣體報警器檢驗收費的合理規劃與管理

隨著工業化的快速發展&#xff0c;可燃氣體報警器已經成為各類工業場所不可或缺的安全設備。 它的主要功能是在可燃氣體濃度超標時發出警報&#xff0c;有效預防和減少火災、爆炸等安全事故的發生。 然而&#xff0c;為了確保報警器能夠持續、準確地發揮作用&#xff0c;定期…

科技盛事即將拉開帷幕,WWDC2024官宣定檔,亮點搶先看!

隨著全球科技愛好者們對蘋果年度開發者大會&#xff08;WWDC&#xff09;的期待日益高漲&#xff0c;今年的WWDC24&#xff08;蘋果全球開發者大會&#xff09;&#xff0c;正式宣告這一科技盛事將于北京時間6月11日凌晨1點拉開帷幕。距離WWDC 2024的召開只剩下一周時間&#x…

【電子取證篇】電子數據取證標準合集更新202405(附下載)

【電子取證篇】電子數據取證標準合集更新202405&#xff08;附下載&#xff09; 電子數據取證相關標準合集&#xff0c;按照司法鑒定職業分類目錄&#xff0c;對電子數據鑒定可能涉及的測試、測量方法進行標準歸類&#xff0c;更新于2024年05月14日—【蘇小沐】 &#xff08;…

前端localForage存儲數據使用教程

前言 前端本地化存儲算是一個老生常談的話題了&#xff0c;我們對于 cookies、Web Storage&#xff08;sessionStorage、localStorage&#xff09;的使用已經非常熟悉&#xff0c;在面試與實際操作之中也會經常遇到相關的問題&#xff0c;但這些本地化存儲的方式還存在一些缺陷…

「技能培訓」硬蛋學堂職業技能培訓,助你掌握未來技術!!!

硬蛋學堂職業技能培訓 &#x1f680; 火熱報名中&#xff01; &#x1f680; &#x1f31f; 2024年已過半&#xff0c;我們迎來了年中的轉折點。你是否還在為年初制定的宏偉計劃而奮斗&#xff1f;是否渴望在職場上更進一步&#xff0c;卻苦于缺乏機會和資源&#xff1f; &a…

systemctl系統控制器

systemctl系統控制器 作用&#xff1a;控制服務的開啟、關閉、開機自啟、禁止開機自啟 查看linux中所有的服務 systemctl --type service 檢查服務狀態 systemctl is-active 服務名 &#xff08;簡要&#xff09;systemctl status 服務名&#xff08;詳情&#xff09; 開…

期權懂題庫免費!期權開戶測試難嗎?多少分算合格通過?

今天帶你了解期權懂題庫免費&#xff01;期權開戶測試難嗎&#xff1f;多少分算合格通過&#xff1f;期權開戶測試通常要求投資者達到一定的合格分數&#xff0c;以確保他們具備足夠的理解和知識來參與期權交易。 期權開戶測試難嗎&#xff1f; 期權開戶測試的難度因人而異&am…

【設計模式深度剖析】【1】【行為型】【模板方法模式】| 以烹飪過程為例加深理解

&#x1f448;?上一篇:結構型設計模式對比 文章目錄 模板方法模式定義英文原話直譯如何理解呢&#xff1f; 2個角色類圖代碼示例 應用優點缺點使用場景 示例解析&#xff1a;以烹飪過程為例類圖代碼示例 模板方法模式 模板方法模式&#xff08;Template Method Pattern&…

C++linux下使用clog和重定向實現寫日志

Clinux下使用clog和重定向實現寫日志 實現文件基本功能測試編譯運行額外知識點 實現文件 LogUtil.hpp /** * 通用日志實現 * lsl * 2024-06-04 */#ifndef LOGUTIL_HPP #define LOGUTIL_HPP #include<iostream> #include <time.h> #include <cstring> #defi…

LED驅動IC:HC2161,升壓型LED恒流驅動ic,供應LED燈杯單節電池以上供電的LED燈串平板顯示LED背光大功率LED照明

LED驅動IC&#xff1a; HC2161:升壓型LED恒流驅動ic 概述&#xff1a;HC2161是一款高效率、高精度的升 壓型大功率LED恒流驅動控制芯片。 HC2161內置高精度誤差放大器&#xff0c;固 定關斷時間控制電路&#xff0c;恒流驅動電路等&#xff0c; 特別適合大功率、多個高亮…

七年

七年 我&#xff0c;回來了&#xff0c;七年后。回看之前的文章&#xff0c;當初的情意濃濃&#xff0c;患得患失&#xff0c;真的是恍如隔世。 經歷了重重波折&#xff0c;父母反對&#xff0c;奔赴廣州&#xff0c;云南危機&#xff0c;房名危機&#xff0c;都沒把我們拆散…

鴻蒙開發接口定制管理:【@ohos.configPolicy (配置策略)】

配置策略 配置策略提供按預先定義的定制配置層級獲取對應定制配置目錄和文件路徑的能力。 說明&#xff1a; 本模塊首批接口從API version 8開始支持。后續版本的新增接口&#xff0c;采用上角標單獨標記接口的起始版本。 本模塊接口均為系統接口&#xff0c;三方應用不支持調…

Kaggle平臺進行Python版本降級

前言 最近在復現語音合成模型VITS&#xff0c;由于目前沒有算力故去Kaggle白嫖運算資源。 VITS的運行環境要求如下 Cython0.29.21 librosa0.8.0 matplotlib3.3.1 numpy1.18.5 phonemizer2.2.1 scipy1.5.2 tensorboard2.3.0 torch1.6.0 torchvision0.7.0 Unidecode1.1.1截至2…

21.過擬合和欠擬合示例

1. 背景介紹 在機器學習和深度學習中&#xff0c;過擬合和欠擬合是兩個非常重要的概念。過擬合指的是模型在訓練數據上表現很好&#xff0c;但在新的測試數據上效果變差的情況。欠擬合則是指模型無法很好地擬合訓練數據的情況。這兩種情況都會導致模型無法很好地泛化&#xff…

視頻號小店,常見的違規條例!98%的商家必犯的違規細節!

哈嘍~我是電商月月 做電商&#xff0c;不管哪個平臺都有屬于自己的規則條例&#xff0c;這些違規細節&#xff0c;一定要提前了解 所以今天&#xff0c;月月就給大家分享一下&#xff0c;做視頻號小店的話&#xff0c;有哪些常見的違規細節 這里我們分三點講解 一&#xff…