我想在QPushButton
上設置圖像,而QPushButton
的尺寸應該取決於圖像的大小。我能夠在使用QLabel
時執行此操作,但不能使用QPushButton
。如何在QPushButton上設置圖像?
所以,如果有人有解決方案,那麼請幫助我。
我想在QPushButton
上設置圖像,而QPushButton
的尺寸應該取決於圖像的大小。我能夠在使用QLabel
時執行此操作,但不能使用QPushButton
。如何在QPushButton上設置圖像?
所以,如果有人有解決方案,那麼請幫助我。
我不認爲你可以在任何現有的按鈕類上設置任意大小的圖像。 如果你想要一個簡單的圖像表現得像一個按鈕,你可以寫自己的QAbstractButton子類,是這樣的:
class ImageButton : public QAbstractButton {
Q_OBJECT
public:
...
void setPixmap(const QPixmap& pm) { m_pixmap = pm; update(); }
QSize sizeHint() const { return m_pixmap.size(); }
protected:
void paintEvent(QPaintEvent* e) {
QPainter p(this);
p.drawPixmap(0, 0, m_pixmap);
}
};
感謝您的回答..你會plz幫助我通過顯示如何通過使用QPushButton而不是QAbstractButton實現此代碼。 由於我的要求是使用QPushButton。 所以,plz幫助我。 – 2010-06-29 11:37:58
正如我所說,我不認爲有一個正確的方法。如果有的話,QStyle和樣式表可能會有所幫助。看看那裏。 – 2010-06-29 22:54:13
謝謝,回答。 – 2010-06-30 05:05:02
你可以做的是使用一個像素映射爲一個圖標,然後把這個圖標到按鈕。
要確保按鈕的大小是正確的,您必須根據像素大小重新調整圖標。
像這樣的東西應該工作:
QPixmap pixmap("image_path");
QIcon ButtonIcon(pixmap);
button->setIcon(ButtonIcon);
button->setIconSize(pixmap.rect().size());
我知道這是舊的,但我已經做到了這一點,而按鈕圖標仍然是默認的。我沒有收到任何錯誤,我的所有資源文件似乎都已加載,我的路徑也不錯。爲什麼這不適合我? – mrg95 2013-07-14 00:03:54
QPushbutton *button = new QPushbutton;
button->setIcon(QIcon("<imagePath>"));
button->setIconSize(QSize(65,65));
你也可能要設置按鈕的大小。
QPixmap pixmap("image_path");
QIcon ButtonIcon(pixmap);
button->setIcon(ButtonIcon);
button->setIconSize(pixmap.rect().size());
button->setFixedSize(pixmap.rect().size());
這是舊的,但它仍然有用, 完全用QT5.3測試。
要carreful,關於ressources路徑例如:
在我來說,我創建了項目源目錄中名爲「Ressources」一個服務目錄。
文件夾 「ressources」 包含圖片和icons.Then我加入Qt的那麼一個前綴 「圖像」 的像素映射路徑成爲:
QPixmap的像素圖( 「:/圖片/ Ressources/icone_pdf.png」) ;
JF
您還可以使用:
button.setStyleSheet("qproperty-icon: url(:/path/to/images.png);");
注:這是一個小哈克。你應該只用作最後的手段。圖標應設置爲C++
代碼或Qt Designer
。
你可以在QtDesigner中做到這一點。只需點擊你的按鈕,然後去圖標屬性,然後選擇你的圖像文件。
只需使用此代碼
的QPixmap像素圖( 「path_to_icon」);
QIcon iconBack(pixmap);
需要注意的是:「path_to_icon」是圖像圖標的文件的路徑。QRC項目的
你可以找到如何添加.qrc文件here
也有使用,你可以設置在Qt的一個按鈕,設置圖像,HTTP的 編程方式的圖像有兩種方式:// QT -articles.blogspot.com/2010/06/how-to-customize-button-in-qt.html從樣式表如何設置圖像,http://qt-articles.blogspot.com/2010/06/如何添加樣式表的按鈕在qt.html – Naruto 2010-06-30 05:18:29
多數民衆贊成在偉大的...它工作正常..感謝很多... – 2010-07-01 03:54:23
你是最歡迎:) 如果你覺得答案是正確的,請將其標記爲正確,這樣對其他獲得類似問題的人會有所幫助。 – Naruto 2010-07-01 12:19:35