1. 程式人生 > >QT學習之路————QT介面的美化

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

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
    QPixmap pix;
    pix.load("chinaz1.png");
    ui->pushButton->setFixedSize(pix.size());
    ui->pushButton->setMask(pix.mask());
    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)在建構函式中新增如下程式碼:
   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)這樣就可以重繪視窗,不規則視窗就可以出現啦