Qt 窗口隨鼠標移動效果

實現在窗口任意位置按下鼠標左鍵都可以移動窗口的效果,完整代碼如下:
mainwindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QMouseEvent>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();
protected:// 重寫父類鼠標點擊事件:鼠標按下的時候記錄偏移量,方便鼠標移動時使用void mousePressEvent(QMouseEvent *event) override;// 重寫父類鼠標移動事件void mouseMoveEvent(QMouseEvent *event) override;
private:Ui::MainWindow *ui;QPoint m_offset;// 窗口移動時,鼠標點擊位置和窗口左上角的偏移量
};
#endif // MAINWINDOW_H

mainwindow.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}
// 重寫父類鼠標點擊事件:鼠標按下的時候記錄偏移量,方便鼠標移動時使用
void MainWindow::mousePressEvent(QMouseEvent *event)
{// event->globalPos():鼠標點擊位置和桌面左上角的距離// this->pos():窗口左上角位置和桌面左上角位置的距離m_offset = event->globalPos() - this->pos();
}
// 重寫父類鼠標移動事件
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{// this->move():設置窗口左上角的位置// event->globalPos():鼠標點擊位置和桌面左上角的距離this->move(event->globalPos() - m_offset);
}

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

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

相關文章

PHP混淆加密以及常用的一些加密工具

PHP混淆加密是一種將源代碼轉換為難以理解和閱讀的方式&#xff0c;以保護代碼的安全性。以下是一些常見的PHP混淆加密方法&#xff1a; 代碼壓縮&#xff1a;使用代碼壓縮工具&#xff08;如UglifyJS&#xff09;將PHP代碼壓縮為一行&#xff0c;去除空格、換行符等可讀性的字…

jenkins 連接服務器,提示Can‘t connect to server

在Jenkins 添加服務器時&#xff0c;提示 Cant connect to server&#xff0c;如圖 搞了好久&#xff0c;不知道為什么不行~原來是行的&#xff0c;現在刪了 新建一個也不行。

2023牛客暑期多校訓練營8-C Clamped Sequence II

2023牛客暑期多校訓練營8-C Clamped Sequence II https://ac.nowcoder.com/acm/contest/57362/C 文章目錄 2023牛客暑期多校訓練營8-C Clamped Sequence II題意解題思路代碼 題意 解題思路 先考慮不加緊密度的情況&#xff0c;要支持單點修改&#xff0c;整體查詢&#xff0…

axios同一個接口,同時接收 文件 或者 數據

1、前端代碼 const service axios.create({baseURL: "http://192.168.2.200:8080/api",timeout: 180000 })// 響應攔截 service.interceptors.response.use(async response > {if(response){// 請求時設置返回blob, 但是實際上可能返回的是json的情況if (respon…

[C++]筆記 - 知識點積累

一.運算符的優先級 一共15個級別 最高優先級 : () []最低優先級 :逗號表達式倒數第二低優先級 : 賦值和符合賦值(,,-...) ! >算術運算符 > 關系運算符 > && >> || >賦值運算符 二.數據類型轉換 隱式類型轉換 算數轉換 char int long longlong flo…

解決Java中的“Unchecked cast: java.lang.Object to java.util.List”問題

&#x1f337;&#x1f341; 博主貓頭虎 帶您 Go to New World.?&#x1f341; &#x1f984; 博客首頁——貓頭虎的博客&#x1f390; &#x1f433;《面試題大全專欄》 文章圖文并茂&#x1f995;生動形象&#x1f996;簡單易學&#xff01;歡迎大家來踩踩~&#x1f33a; &a…

搜索二叉樹

目錄 搜索二叉樹的性質 搜索二叉樹的實現、 插入 刪除 代碼 在以前我們學過二叉樹,但是在對二叉樹的學習中發現,似乎二叉樹并沒有什么作用,要論增刪它比不上鏈表,論隨機訪問也沒法和順序表比,對于當時的我們是一頭霧水,那么現在它的功能終于是體現出來了,這里就是我們要講的…

[Go版]算法通關村第十一關白銀——位運算的高頻算法題

目錄 專題1&#xff1a;位移的妙用題目&#xff1a;位1的個數&#xff08;也被稱為漢明重量&#xff09;解法1&#xff1a;遍歷所有位&#xff0c;判斷每個位的數字是否是1Go代碼 解法2&#xff1a;依次消除每個1的位 numnum&(num-1)Go代碼 題目&#xff1a;比特位計數思路…

Mac 卸載appium

安裝了最新版的appium 2.0.1,使用中各種問題&#xff0c;卡頓....,最終決定回退的。記錄下卸載的過程 1.打開終端應用程序 2.卸載全局安裝的 Appium 運行以下命令以卸載全局安裝的 Appium&#xff1a; npm uninstall -g appium 出現報錯&#xff1a;Error: EACCES: permiss…

云安全攻防(十二)之 手動搭建 K8S 環境搭建

手動搭建 K8S 環境搭建 首先前期我們準備好三臺 Centos7 機器&#xff0c;配置如下&#xff1a; 主機名IP系統版本k8s-master192.168.41.141Centos7k8s-node1192.168.41.142Centos7k8s-node2192.168.41.143Centos7 前期準備 首先在三臺機器上都執行如下的命令 # 關閉防火墻…

Python讀取Word統計詞頻輸出到Excel

1.安裝依賴的包 "# 讀取docx\n", "!pip install python-docx\n", "!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docx\n", "# 中英文分詞\n", "!pip install jieba\n", "!pi…

postman測試后端增刪改查

目錄 一、本文介紹 二、準備工作 &#xff08;一&#xff09;新建測試 &#xff08;二&#xff09;默認url路徑查看方法 三、增刪改查 &#xff08;一&#xff09;查詢全部 &#xff08;二&#xff09;增加數據 &#xff08;三&#xff09;刪除數據 &#xff08;四&…

nginx反向代理流程

一、nginx反向代理流程 反向代理&#xff1a;使用代理服務器來接受internet上的連接請求&#xff0c;然后將請求轉發給內部網絡中的上游服務器&#xff0c;并將上游服務器得到的結果返回給請求連接的客戶端&#xff0c;代理服務器對外表現就是一個web服務器。Nginx就經常拿來做…

【內網穿透】如何實現在外web瀏覽器遠程訪問jupyter notebook服務器

文章目錄 前言1. Python環境安裝2. Jupyter 安裝3. 啟動Jupyter Notebook4. 遠程訪問4.1 安裝配置cpolar內網穿透4.2 創建隧道映射本地端口 5. 固定公網地址 前言 Jupyter Notebook&#xff0c;它是一個交互式的數據科學和計算環境&#xff0c;支持多種編程語言&#xff0c;如…

信也科技一面涼經

1.在項目經歷里挑一個詳細介紹一下 項目的應用場景 2.項目里用到多線程是怎么用的&#xff1f;回答&#xff1a;線程池 用通過 ThreadPoolExecutor 構造函數的方式創建的線程池 3.線程池有哪些重要參數&#xff1f;回答&#xff1a;核心線程數、最大線程數、阻塞隊列類型、…

【愛書不愛輸的程序猿】公網訪問本地搭建的WEB服務器之詳細教程

歡迎來到愛書不愛輸的程序猿的博客, 本博客致力于知識分享&#xff0c;與更多的人進行學習交流 本地電腦搭建Web服務器并用cpolar發布至公網訪問 前言1. 首先將PHPStudy、WordPress、cpolar下載到電腦2. 安裝PHPStudy3. 安裝cpolar&#xff0c;進入Web-UI界面4.安裝wordpress5.…

KU Leuven TU Berlin 推出“RobBERT”,一款荷蘭索塔 BERT

荷蘭語是大約24萬人的第一語言&#xff0c;也是近5萬人的第二語言&#xff0c;是繼英語和德語之后第三大日耳曼語言。來自比利時魯汶大學和柏林工業大學的一組研究人員最近推出了基于荷蘭RoBERTa的語言模型RobBERT。 谷歌的BERT&#xff08;來自Transformers的B idirectional …

C語言 常用工具型API --------system()

函數名&#xff1a; system&#xff08;&#xff09; 用 法&#xff1a; int system(char *command); 原理&#xff1a; 創建一個子進程去加載一個新程序執行&#xff0c;而Linux命令基本都是一個單獨的進程實現的&#xff0c;所以你所掌握的Linux命令越多&#xff0c;該函數…

AUTOSAR規范與ECU軟件開發(實踐篇)4.2 基于Matlab/Simulink的軟件組件開發

目錄 前言 1 、Matlab/Simulink與AUTOSAR基本概念的對應關系 2 、軟件組件內部行為建模方法

由淺入深學習Tapable

文章目錄 由淺入深學習TapableTapable是什么Tapable的Hook分類同步和異步的 使用Sync*同步類型鉤子基本使用bailLoopWaterfall Async*異步類型鉤子ParallelSeries 由淺入深學習Tapable webpack有兩個非常重要的類&#xff1a;Compiler和Compilation。他們通過注入插件的方式&a…