qt介面布局之設定無邊框及拖動問題

2021-09-29 14:38:18 字數 897 閱讀 9975

1、正常情況下的介面是這樣的,如圖,這是有邊框的:

在 建構函式中加上:

setwindowflags(qt::framelesswindowhint);
發現介面會變成如下:無邊框

3、無邊框之後,介面就沒辦法拖動,以及放大縮小,全部都要由我們自己去設定了

下面是拖兩個按鈕在介面上,然後進行放大縮小的處理,在建構函式中進行繫結:

connect(ui->pushbutton_2, signal(clicked()), this, slot(close()));

connect(ui->pushbutton_3, signal(clicked()), this, slot(showminimized()));

4、需要重新寫滑鼠事件:

protected:

void mousereleaseevent(qmouseevent *event) override;

void mousepressevent(qmouseevent *event) override;

void mousemoveevent(qmouseevent *event) override;

5、最後結果為如圖:

完成,需要原始碼的可以參考: 

WPF Windows 設定無邊框還能拖動,縮放

標準視窗由兩個重疊矩形組成。外部矩形是非工作區,通常稱為chrome。它由作業系統的視窗管理器進行繪製和管理。視窗的非工作區是通過 wpf 實現的,其中包括大多數視窗所共有的視窗部分,包括以下各項 內部矩形是工作區。它包含應用程式的內容,例如選單欄 工具欄和控制項,由應用程式進行繪製和管理。可以通過...

Qt之自定義介面(實現無邊框 可移動)

ui設計是指對軟體的人機互動 操作邏輯 介面美觀的整體設計。好的ui設計不僅是讓軟體變得有個性 有品位,還要讓軟體的操作變得舒適簡單 自由,充分體現軟體的定位和特點。愛美之心人皆有之。其實軟體介面就像工業造型一樣,是產品的重要賣點。乙個產品擁有美觀的介面會給人帶來舒適的視覺享受,拉近人與產品的距離,...

qt 5 小練習 建立無邊框介面

首先,我們得在相應的建構函式中寫入無邊框的 例如博主想要mywidget變為無邊框 setwindowflags qt framelesswindowhint qt windowstaysontophint 設定邊框狀態,沒邊框之後,必須要自己寫乙個滑鼠事件來拖動它 setmousetracking...