QT學習之路————QT介面的美化
阿新 • • 發佈:2019-02-19
1、隱藏視窗的標題欄(包括最小化、最大化、關閉按鈕)
只需要在建構函式中新增 setWindowFlags(Qt::FramelessWindowHint); 函式即可2、給按鈕新增背景圖片
ui->pushButton->setStyleSheet("border-image:url(me.png)");3、給介面新增背景圖片
this->setObjectName("dialog"); //這句話一定要有,不然,整個介面上的控制元件背景都跟介面背景一樣this->setStyleSheet("QDialog#dialog{border-image:url(me.png)}");
4、滿屏顯示應用程式
this->showFullScreen();5、將帶有背景圖片的qt程式移植到開發板
其實很簡單,就是在開發板上把圖片跟執行檔案放一起就可以了,不過是要用png格式的圖片,我用JPG格式的顯示不了,不知道其他格式的行不行,我還沒有試過6、製作不規則Button
(1)首先新增標頭檔案:#include<QBitmap> (2)在建構函式內編輯Button(3)其實Mask就像一個面具,它能遮蓋原來Button的樣子,並讓它顯示不同的面貌,從而實現一些圖片或動態圖的顯示QPixmap pix; pix.load("chinaz1.png"); ui->pushButton->setFixedSize(pix.size()); ui->pushButton->setMask(pix.mask()); ui->pushButton->setStyleSheet("border-image:url(chinaz1.png)");
7、製作不規則視窗
(1)首先新增標頭檔案:#include<QPainter>和#include<QBitmap> (2)在標頭檔案中定義公有變數:QPixmap pix (3)在private中宣告函式:void paintEvent(QPaintEvent *e); (4)在建構函式中新增如下程式碼:this->setWindowFlags(Qt::FramelessWindowHint|Qt::WindowMinimizeButtonHint); //隱藏標題欄 this->setAttribute(Qt::WA_TranslucentBackground); //讓窗體實現透明 pix.load("123.png"); this->resize(pix.size()); //讓視窗的大小跟你的圖片大小一樣
(5)重寫paintEvent(QPaintEvent *e)函式
void Gigdialog::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
painter.drawPixmap(0,0,pix);
}
(6)這樣就可以重繪視窗,不規則視窗就可以出現啦