在設計ui過程中,中途需要顯示圖片,采用在標簽中映射圖片的方法。
顯示方法是:
在繼承於QWidget的部件的構建函數中申請動態空間創建一個QLabel子部件,
1 resultLabel = new QLabel(this); // 父部件是當前類
在該類的paintEvent(QPaintEvent * event)事件中進行繪制圖片
1 QPixmap winPic(QString(":/images/win.png"));
2 resultLabel->resize(winPic.width(), winPic.height()); 3 resultLabel->move(this->width() /2 - resultLabel->width() /2, 4 this->height()/2 - resultLabel->height()/2); 5 if(winner == player)resultLabel->setPixmap(winPic); 6 else resultLabel->setPixmap(failPic);
在不需要顯示的時候,設置QWidget類的visible屬性為false即可,提供有void setVisible(bool)、bool isVisible() const方法。
1 resultLabel->setVisible(false); // 不可見 2 resultLabel->setVisible(true); // 可見,默認為可見