QT 任意拖拽視窗(幫助 關於)

2021-09-25 22:50:20 字數 958 閱讀 8704

一般程式經常需要彈出乙個幫助視窗,展示程式的資訊比如幫助、關於等。

有多種辦法來實現,我這裡給出我常用的兩種:

一種是定義自定義屬性,這樣所有空間介面都可以任意定義是否可以拖拽,當有大量空間需要移動時候,可以用這種

另一種就是新建乙個可以支援任意拖動的類,如果主介面本身是固定的,只有幾個視窗支援拖拽,可以這樣用

//自定義子介面

class

quicustomwindow

:public qdialog

;

quicustomwindow:

:quicustomwindow

(qwidget *parent)

quicustomwindow::~

quicustomwindow()

//重寫滑鼠按下事件

void quicustomwindow:

:mousepressevent

(qmouseevent *event)

//重寫滑鼠移動事件

void quicustomwindow:

:mousemoveevent

(qmouseevent *event)

return qdialog:

:mousemoveevent

(event);}

void quicustomwindow:

:mousereleaseevent

(qmouseevent *event)

使用方法也很簡單,new一下就可以了

void mainwindow:

:on_about_triggered()

Qt無邊框視窗拖拽和陰影

只需要一行 即可實現 及執行效果 先要去qwidget裡面找到滑鼠事件函式 理一下座標的位置情況 左上角 螢幕的左上角 中間的視窗 程式的視窗 箭頭 滑鼠位置 座標位置滿足 x y z 在designer裡面拖乙個widget出來叫shadowwidget shadowwidget的顏色為灰色,我們...

將OSG嵌入QT視窗系統中,實現拖拽介面

osg底層使用的是opengl圖形系統,qt也增加了對opengl的支援,因此,可以通過qt的opengl模組,實現將osg視窗嵌入到qt中,這樣可以充分利用qt的ui介面設計,滿足osg的2d的介面系統的不足。當然除了使用osg做2d渲染特效,可以盡情享受qt介面設計帶來的方便。qt中,場景檢視模...

關於Qt模態視窗的設定

模態視窗會阻止其他視窗的輸入型事件 如獲取焦點 但是模態視窗的子視窗不會被限制。設定 setattribute qt wa showmodal,true 的方式qt4.5已廢棄,略過 目前,qt中設定視窗模態是通過 qwidget 的setwindowmodality 函式 引數有三種列舉 注意,q...