Qt自定義窗體系統按鈕

2021-08-08 21:16:41 字數 1455 閱讀 3049

首先可以使用setwindowflags(qt::framelesswindowhint);

來隱藏窗體的標題欄, 當然也包括了預設的系統按鈕.

然後在可以通過**或者qt的designer在窗體右上角擺放好最小化, 最大化(還原), 和關閉三個按鈕並關聯好訊號槽.

分別設定三個按鈕的qss

qtoolbutton#toolbuttonmin

qtoolbutton#toolbuttonmin:hover

qtoolbutton#toolbuttonmin:pressed

最大化和還原按鈕其實乙個, 需要根據窗體的最大化/恢復狀態來進行切換

qss中根據最大化屬性來進行不同的載入

qtoolbutton#toolbuttonmax[maximizeproperty="maximize"]

qtoolbutton#toolbuttonmax[maximizeproperty="maximize"]:hover

qtoolbutton#toolbuttonmax[maximizeproperty="maximize"]:pressed

qtoolbutton#toolbuttonmax[maximizeproperty="restore"]

qtoolbutton#toolbuttonmax[maximizeproperty="restore"]:hover

qtoolbutton#toolbuttonmax[maximizeproperty="restore"]:pressed

cpp中同樣需要設定, 其中unpolish()和polish()是為了讓樣式重新繪製

作者鄭天佐

qq278969898

主頁郵箱[email protected]

部落格github

qq群199672080

覺得分享的內容還不錯, 就請作者喝杯咖啡吧~~

Qt 自定義按鈕

自定義控制項的實現思路如下 a1.新建乙個類,該類繼承qpushbutton,由於qpushbutton繼承於qwidget,因此可以直接在該繼承類裡面進行布局管理和掛載控制項 a2.新建兩個qlabel例項,即buttonimage和buttontxt 是qlable例項 分別用兩個垂直布局管理器...

Qt自定義標籤按鈕

當你接觸到qt時,你會為它極為方便的跨平台方面感到吃驚,從而想嘗試著使用qt。漸漸地你會發現qt自帶的一些控制項不能滿足自己的需要,此時就需要我們自己定義乙個屬於自己的控制項。總所周知,標籤的風格設定模擬較多,但預設的標籤沒有滑鼠響應事件。在你的qt工程中 新增新檔案 c class,輸入類名 cl...

Qt 控制項 自定義按鈕

mybutton.h ifndef mybutton h define mybutton h include include include include class mybutton public qwidget endif mybutton h mybutton.cpp include myb...