1. 程式人生 > >QPixmap setpixmap 不顯示圖片

QPixmap setpixmap 不顯示圖片

 一.QPixmap 類代表影象,實現在 QtGui 共享庫中。

      構造

      以下建構函式生成的 QPixmap 物件為空影象:

  1. QPixmap();     // 構造一個大小為 0 的空影象  

      以下建構函式生成大小的 QPixmap 物件,但影象資料未初始化:
  1. QPixmap(const QSize &size);     // 構造大小為 size 的影象,影象資料未初始化  
  2. QPixmap(int width, int height);    // 等價於 QPixmap(QSize(width, height));  

      以下建構函式能夠從指定的檔案中載入影象並生成 QPixmap 物件:
  1. QPixmap(const QString &filename, const char *format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor);  

      其各個引數的含義解釋如下。

      1) filename: 檔名。

      2) format: 字串,表示影象檔案的格式,如果為 0,將進行自動識別。

      3) flags:表示顏色的轉換模式。

       如果影象檔案載入失敗則產生空影象,這裡 flags 引數有以下取值。

       1) Qt::AutoColor:由系統自動決定。

       2) Qt::ColorOnly:彩色模式。

       3) Qt::MonoOnly:單色模式。

       影象引數

       以下成員函式可以獲得 QPixmap 物件所表示的影象的相關資訊:

  1. int depth() const;     // 顏色深度,既每畫素所佔的位元數  
  2. int width() const;     // 影象寬度,單位是畫素  
  3. int height() const;   // 影象高度,單位是畫素  
  4. QSize size() cosnt;  // 影象的大小,即 QSize(width(), height());  
  5. QRect rect() const;   // 影象的矩形區域,即 QRect(QPoint(0,0),size());  


       載入和儲存影象

       用下面的成員函式可以從檔案載入影象:

  1. bool load(const QString &filename, const char *fornat = 0, Qt::ImageCoversionFlags flags = Qt::AutoColor);  
       這裡各個引數的含義與建構函式中一樣,返回值為 true 表示載入成功,false 表示載入失敗。相反的操作是將 Qpixmap 代表的影象儲存到檔案,可用以下成員函式:
  1. bool save(const QString &filename, const char *format = 0, int quality = -1) const;  

       其各個引數及返回值的含義解釋如下。

       1) filename:檔名。

       2) format:字串,表示影象檔案的格式,如果為 0,將根據檔名的字尾自動確定檔案格式。

       3) quality:對於有失真壓縮的檔案格式來說,它表示影象儲存的質量,質量越低壓縮率越大。取值範圍為 0~100,-1 表示採用預設值。

       4) 返回值:true 表示儲存成功,false 表示儲存失敗。

        判斷

        以下成員函式可以判斷 QPixmap 物件是否為空影象:

  1. bool isNull() const;     // 判斷是否為空影象 
二. setpixmap 不顯示圖片
     編譯報錯:warning C4129: “D”: 不可識別的字元轉義序列
    檔案路徑的\反斜槓,是字串轉移字元,要在字串常量中使用反斜槓,需要兩個連著。即:
"D:\\xxx\\ debug\\312.png"
顯示正常: