QT學習之路————QT界面的美化

https://blog.csdn.net/huangan_xixi/article/details/50878046

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)}");
(PS:這個方法對於QWidget類不好使,我也不知道爲什麼)

4、滿屏顯示應用程序

this->showFullScreen();

5、將帶有背景圖片的qt程序移植到開發板

其實很簡單,就是在開發板上把圖片跟執行文件放一起就可以了,不過是要用png格式的圖片,我用JPG格式的顯示不了,不知道其他格式的行不行,我還沒有試過

6、製作不規則Button

(1)首先添加頭文件:#include<QBitmap>
(2)在構造函數內編輯Button
  1. QPixmap pix;
  2. pix.load("chinaz1.png");
  3. ui->pushButton->setFixedSize(pix.size());
  4. ui->pushButton->setMask(pix.mask());
  5. ui->pushButton->setStyleSheet("border-image:url(chinaz1.png)");

(3)其實Mask就像一個面具,它能遮蓋原來Button的樣子,並讓它顯示不同的面貌,從而實現一些圖片或動態圖的顯示

7、製作不規則窗口

(1)首先添加頭文件:#include<QPainter>和#include<QBitmap>
(2)在頭文件中定義公有變量:QPixmap pix
(3)在private中聲明函數:void paintEvent(QPaintEvent *e);
(4)在構造函數中添加如下代碼:   

  1. this->setWindowFlags(Qt::FramelessWindowHint|Qt::WindowMinimizeButtonHint); //隱藏標題欄
  2. this->setAttribute(Qt::WA_TranslucentBackground); //讓窗體實現透明
  3. pix.load("123.png");
  4. this->resize(pix.size()); //讓窗口的大小跟你的圖片大小一樣

(5)重寫paintEvent(QPaintEvent *e)函數

  1. void Gigdialog::paintEvent(QPaintEvent *e)
  2. {
  3. QPainter painter(this);
  4. painter.drawPixmap(0,0,pix);
  5. }

(6)這樣就可以重繪窗口,不規則窗口就可以出現啦
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章