Qt無邊框視窗拖拽和陰影

2021-10-10 04:51:57 字數 1958 閱讀 2703

只需要一行**即可實現

**及執行效果:

先要去qwidget裡面找到滑鼠事件函式

理一下座標的位置情況:

左上角:螢幕的左上角

中間的視窗:程式的視窗

箭頭:滑鼠位置

座標位置滿足:x = y - z

在designer裡面拖乙個widget出來叫shadowwidget

shadowwidget的顏色為灰色,我們選個自己喜歡的背景色方便檢視

接下來我們要重寫滑鼠事件函式才能讓拖拽功能生效

void widget::mousemoveevent(qmouseevent *event)

void widget::mousepressevent(qmouseevent *event)

void widget::mousereleaseevent(qmouseevent *event)

最終效果變為滑鼠可拖動的視窗:

原始碼:main.cpp

#include "widget.h"

widget.cpp

#include "widget.h"

#include "ui_widget.h"

#include #include #include widget::widget(qwidget *parent) :

qwidget(parent),

ui(new ui::widget)

widget::~widget()

void widget::mousemoveevent(qmouseevent *event)

void widget::mousepressevent(qmouseevent *event)

void widget::mousereleaseevent(qmouseevent *event)

widget.h

#ifndef widget_h

#define widget_h

#include namespace ui

class widget : public qwidget

;#endif // widget_h

如果你覺得文章還不錯,記得"點讚關注"

QT實現無邊框效果以及邊框陰影效果

qtwidget視窗優化 原始的qwidget視窗看著特別不舒服,於是自己嘗試著寫了乙個小的demo對qwidget進行了乙個優化 效果圖 外圍邊框去除,並且加上邊框陰影 實現視窗陰影效果 widget widget qwidget parent qwidget parent ui new ui w...

Qt無邊框視窗1,簡單示例

現在較多軟體使用扁平化的介面風格,設計的很漂亮,感覺也比較簡約。這裡給出一種qt實現這種扁平化主視窗的示例,實現一些基本的標題欄拖放 最大最小關閉按鈕等處理。外觀 mainwindow去掉選單欄 工具條 狀態列等,新增1個widget作為標題欄,它和內容區域使用垂直布局。標題欄新增qlabel,作為...

Unity 實現無邊框視窗,四邊陰影。

1 整合win函式,定義介面using unityengine using system.runtime.interopservices using system 設定當前視窗的顯示狀態 dllimport user32.dll public static extern bool showwindo...