我正在學習如何使用Qt進行C++編程。當我點擊一個按鈕並且與該按鈕相關的矩陣上的位置等於-1時,我想要顯示這個圖像,我還想清除同一按鈕上的文本,我的代碼直到現在爲止部分是:QIcon不會顯示在QPushButton
if(Tabuleiro[x][y] == -1){
this->Botoes[x][y]->setText("");
this->Botoes[x][y]->setIcon(QIcon("bomba.png"));
}
作爲在Tabuleiro
爲int的矩陣,Botoes
是指針QPushButtons和「bomba.png」的矩陣我想要顯示的圖像。該圖像與項目位於相同的文件夾中,但是一旦我運行它就不會顯示。我也使用Qt資源系統tryed,我創建了一個名爲imagens.qrc它我創建了一個前綴/Imagem
,放在我的形象有新的資源,這是看起來像在這之後是什麼代碼:
if(Tabuleiro[x][y] == -1){
this->Botoes[x][y]->setText("");
this->Botoes[x][y]->setIcon(QIcon(":/Imagem/bomba.png"));
}
但它仍然將無法工作。我究竟做錯了什麼?另外,我tryed使用
this->Botoes[x][y]->text().clear();
,而不是
this->Botoes[x][y]->setText("");
但它沒有工作,你知道爲什麼嗎?
確保PNG在您的應用程序的工作目錄中(可執行文件所在的位置)。 – Archie
@Archie工作目錄與可執行目錄不一樣 –
@joão-areias考慮使用Qt資源系統http://doc.qt.io/qt-5/resources.html –