如何在QPushButton上设置图像?
我想在QPushButton上设置图像,而QPushButton的大小应该取决于图像的大小。 我能够做到这一点,当使用QLabel ,而不是与QPushButton 。 
所以,如果有人有解决scheme,那么请帮助我。
你可以做的是使用像素图作为图标,然后把这个图标放到button上。
为确保button的大小是正确的,您必须根据像素大小重新调整图标。
像这样的东西应该工作:
 QPixmap pixmap("image_path"); QIcon ButtonIcon(pixmap); button->setIcon(ButtonIcon); button->setIconSize(pixmap.rect().size()); 
 QPushbutton *button = new QPushbutton; button->setIcon(QIcon("<imagePath>")); button->setIconSize(QSize(65,65)); 
您可能还需要设置button大小。
 QPixmap pixmap("image_path"); QIcon ButtonIcon(pixmap); button->setIcon(ButtonIcon); button->setIconSize(pixmap.rect().size()); button->setFixedSize(pixmap.rect().size()); 
你也可以使用:
 button.setStyleSheet("qproperty-icon: url(:/path/to/images.png);"); 
  注意 :这是一个小黑客。 你应该使用这只是作为最后的手段。 图标应该从C++代码或Qt Designer 。 
我不认为你可以在任何现有的button类上设置任意大小的图像。 如果你想要一个简单的图像,像一个button,你可以编写自己的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 ); } }; 
这是旧的,但它仍然是有用的,充分testing与QT5.3。
有关资源path的例子,
在我的情况下,我在源目录项目中创build了一个名为“Ressources”的资源目录。
文件夹“ressources”包含图片和图标。然后我在Qt中添加了一个前缀“Images”,所以pixmappath变成:
QPixmap pixmap(“:/ images / Ressources / icone_pdf.png”);
JF
你可以在QtDesigner中做到这一点。 只需点击你的button,然后去图标属性,然后select您的图像文件。
只要使用这个代码
  QPixmap pixmap(“path_to_icon”); 
  QIcon iconBack(pixmap); 
  请注意: “path_to_icon”是项目文件.qrc中图像图标的path 
 你可以在这里find如何添加.qrc文件