Qt Dialog窗體使用自定義標題欄

2022-01-20 01:08:46 字數 654 閱讀 4540

執行效果如下圖:

可以設計自己喜歡的風格,我這個只是簡單演示功能

關鍵**:

setwindowflags(qt::customizewindowhint|qt::framelesswindowhint);  //將主窗體設定為這樣的樣式

utitlebar = new utitlebar(this

);utitlebar->setautofillbackground(true); //

自動填充背景

qpalette palette;

palette.setcolor(qpalette::background, qcolor(

"#2162a9

"));

utitlebar->setpalette(palette);

utitlebar 是繼承為widget的乙個自定義類

最後需要在 主窗體的resizeevent函式中新增下列**

void dialog::resizeevent(qresizeevent *)

整個思路:1、實現自定義的標題欄 -- > 主窗體設定無標題樣式 -- > 將自定義的標題欄新增到主窗體上 -- > 在主窗體重繪函式中新增變化**;

使用自定義窗體

一 從頭定義新自定義窗體 1.新建乙個目錄,再新建乙個工程。2.定義這個自動建立好的窗體為自己需要的樣式。3.包存這個窗體和單元到希望的目錄,工程檔案就儲存在新建的目錄。4.將沒有用的工程聯通目錄一併刪除。二 在新工程中使用自定義窗體 1.新建乙個工程。2.移除自動建立的單元 自動建立的form也會...

自定義形狀窗體

在用vb程式設計中,有時,我們需要使用乙個跟不規則背景有相同形狀的不規則窗體,怎麼辦呢?首先,我們需要設定無邊框窗體,即 borderstyle 0 其次,把背景覆蓋不住的窗體背景設定成透明。這需要用到api函式,private declarefunction getwindowlong lib u...

C winform 窗體自定義

今天看了篇技術帖,原來是可以不通過工具欄的現有工具進行布局的。以前 當我要有2個窗體的時候,就會拖拽2個 然後進行編輯。現在才明白,只要寫成類也是可以使用的。開啟乙個窗體的檔案,發現當自動新建個窗體時,其實是系統幫忙做了很多的準備工作。例如designer.cs中就有 initializecompo...