Qt界面设计1
最近剛接觸Qt 對于QML做界面感覺已經很輕松了,但是想嘗試一下GUI..準備做一個理財的小軟件 ....慢慢記錄我的一點一滴的學習經歷.
自己封裝界面UI 遇到了好多新手級別的問題=_=!!!?
?
1、界面透明 方法好多設置pattle 等等這里我就用這一個
ydw.setWindowFlags(Qt::FramelessWindowHint);?? //在設置? Qt::WA_TranslucentBackground 屬性 之前必須去掉窗體的標題欄
ydw.setAttribute(Qt::WA_TranslucentBackground); //設置窗體透明 前面必須先調用...Qt文檔上說的2、?設置透明窗體并且貼圖??????
this->setWindowFlags(Qt::FramelessWindowHint);//設置窗體無邊框 this->setAttribute(Qt::WA_TranslucentBackground);//設置背景透明 QPixmap pic;//支持多種圖片 另外QBitmap是單一顏色圖像可以自己看效果 pic.load(":/image/qqframe.png");//加載圖像 this->resize(pic.size());//設置窗體和圖片一樣大 弄一張圓角圖片就能實現圓角窗體了 ? ? voidYdwWindow::paintEvent(QPaintEvent*) //然后在窗體的paintEvent虛函數進行貼圖 利用QPainter OK { QPainterpainter(this); painter.drawPixmap(0,0,pic);//繪制圖像 }?
3、圓角實現原理
??????????????? 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進行 背景一伙出現圓角?
轉載于:https://www.cnblogs.com/suncoolcat/p/3292022.html
總結
- 上一篇: android 关于多任务下载问题
- 下一篇: ogre3D学习基础10 -- 键盘控制