Qt中不規則窗體和部件的實現

2021-09-07 23:50:58 字數 1297 閱讀 3729

qt中不規則窗體和部件的實現

描述:a.png 視窗背景圖

: 描述:mask.png 視窗掩碼圖

: 描述:toolbutton.png 按鈕背景圖

: 描述:toolbutton_mask.png 按鈕掩碼圖

: 描述:runtime.png 示例執行時圖

: qt中不規則窗體和部件的實現,不管是窗體還是部件,都是從qwidget派生而來的,所以它們的原理是一樣的,都是設定部件的背景色或者按鈕圖示等為乙個影象a,然後設定此部件的掩碼為另乙個影象b,這個影象b經過位與運算後,得到不規則的影象,這就行了下面,是乙個簡單的示例:

form.h:

quote:

#ifndef form_h

#define form_h

#include

class form : public qwidget

; #endif

form.cpp:

quote:

#include

#include

#include "toolbutton.h"

#include "form.h"

form::form()

form::~form()

toolbutton.h:

quote:

#ifndef toolbutton_h

#define toolbutton_h

#include

class toolbutton : public qtoolbutton

; #endif

toolbutton.cpp:

quote:

#include

#include

#include "toolbutton.h"

toolbutton::toolbutton(qwidget *parent)

: qtoolbutton(parent)

toolbutton::~toolbutton()

main.cpp:

quote:

**qt中文論壇»qt programming»qt中不規則窗體和部件的實現

Qt中不規則窗體和部件的實現

描述 a.png 視窗背景圖 描述 mask.png 視窗掩碼圖 描述 toolbutton.png 按鈕背景圖 描述 toolbutton mask.png 按鈕掩碼圖 描述 runtime.png 示例執行時圖 qt中不規則窗體和部件的實現,不管是窗體還是部件,都是從qwidget派生而來的,所...

QT實現不規則窗體

看到網上有很多不規則窗體的實現,效果很酷.於是使用qt也實現了乙個,qt的不規則窗體實現非常簡單,只需要設定乙個mask 遮掩 這個的格式可以使用png或bmp格式,我使用了png格式,預設窗體是矩形的,使用png影象,將需要隔離在窗體之外的區域的畫素設定為白色或透明色,其他顏色的區域對應顯示出來的...

QT實現不規則窗體和透明窗體

不規則窗體的實現有兩種方式 一種是設定窗體的掩碼影象 另一種是設定窗體背景透明,然後重寫其繪圖函式,將背景圖繪製上去。第一種方式 首先要準備兩張影象,一張是要顯示的影象,另一張是第一張圖的掩碼影象,黑色部分是你的窗體要顯示的部分,如圖 具體實現的關鍵 如下 irregularform1 irregu...