Qt界面設計1

最近剛接觸Qt 對於QML作界面感受已經很輕鬆了,可是想嘗試一下GUI..準備作一個理財的小軟件 ....慢慢記錄個人一點一滴的學習經歷.less

本身封裝界面UI 遇到了好多新手級別的問題=_=!!!  函數

 

一、界面透明 方法好多設置pattle 等等這裏我就用這一個學習

ydw.setWindowFlags(Qt::FramelessWindowHint);   //在設置  Qt::WA_TranslucentBackground 屬性 以前必須去掉窗體的標題欄this

ydw.setAttribute(Qt::WA_TranslucentBackground);  //設置窗體透明 前面必須先調用...Qt文檔上說的

二、 設置透明窗體而且貼圖       spa

 this->setWindowFlags(Qt::FramelessWindowHint);//設置窗體無邊框 
 this->setAttribute(Qt::WA_TranslucentBackground);//設置背景透明
       QPixmap pic;//支持多種圖片 另外QBitmap是單一顏色圖像能夠本身看效果
 pic.load(":/image/qqframe.png");//加載圖像
 this->resize(pic.size());//設置窗體和圖片同樣大 弄一張圓角圖片就能實現圓角窗體了
 
 
void YdwWindow::paintEvent(QPaintEvent *)  //而後在窗體的paintEvent虛函數進行貼圖 利用QPainter  OK
{
    QPainter painter(this);
    painter.drawPixmap(0, 0, pic);//繪製圖像
}

 

三、圓角實現原理圖片

                QBitmap objBitmap(size()); //QPainter用於在位圖上繪畫文檔

 QPainter painter(&objBitmap); //填充位圖矩形框(用白色填充)
 painter.fillRect(rect(),Qt::white);//白色rgb 255 255 255 用來和圖片異或
 painter.setBrush(QColor(86,78,72)); //在位圖上畫圓角矩形(用黑色填充)作爲重疊區
 painter.drawRoundedRect(rect(),windowRadius,windowRadius); //繪製圓角
 setMask(objBitmap);//使用setmask進行 背景一夥出現圓角
相關文章
相關標籤/搜索