色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

qt窗口css透明背景

謝彥文2年前12瀏覽0評論

在使用 Qt 編寫 GUI 程序時,我們經常需要使用 CSS 來美化窗口樣式。而有時我們想要實現窗口透明背景效果,這時該怎樣操作呢?

首先,我們需要創建一個透明背景的 QSS 樣式,其 CSS 代碼如下:

QWidget{
background:transparent;
}

然后將上述代碼寫入一個樣式表文件中,并在主程序中加載該樣式表:

QFile file("qss.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
file.close();

以上代碼將從當前目錄下讀取名為 “qss.qss” 的樣式表文件,并將其應用到程序中。

接下來我們需要通過設置窗口 flag 來使其支持透明背景,同時使用 setAttribute() 函數來啟用透明度:

setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | 
Qt::WindowMinMaxButtonsHint);
setAttribute(Qt::WA_TranslucentBackground, true);

其中,setWindowFlags() 用于設置窗口標志位,這里我們使用了Qt::FramelessWindowHint 表示去掉窗口標題欄,Qt::WindowSystemMenuHint 和 Qt::WindowMinMaxButtonsHint 表示啟用窗口右上角的最小化和最大化按鈕。

最后,在 .pro 文件中添加以下代碼以啟用透明度支持:

CONFIG += qt debug dontrun
QT += core gui widgets
LIBS += -luser32
win32:LIBS += -lgdi32
QMAKE_LFLAGS += /NODEFAULTLIB:LIBCMT

以上就是使用 Qt 實現窗口透明背景效果的全部步驟。為了更好的展示視覺效果,我們可以將窗口的背景圖設置為一個透明 PNG 圖片,即可實現晶瑩剔透的效果。