我是QT的新手所以请原谅我的无知.
我正在尝试使用QSizePolicy :: Preferred为水平和垂直创建一个’svg图像按钮’.
那部分有效.调整窗口大小时,按钮会按照我想要的方式增长和缩小…但按钮内的图像保持相同的大小.
我想用按钮缩放图像.我试图重载resizeEvent,并调用setImageSize,但是无限递归.
#ifndef SVGPUSHBUTTON_H #define SVGPUSHBUTTON_H #include <QtGui> class SVGPushButton : public QPushButton { public: SVGPushButton(QString path,QString name = ""); ~SVGPushButton(); void resizeEvent(QResizeEvent * event); private: }; #endif // SVGPUSHBUTTON_H #include "SVGPushButton.h" SVGPushButton::SVGPushButton(QString svgPath,QString name) : QPushButton(name) { QIcon icon(svgPath); setSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred ); setFlat(true); setIcon(icon); } SVGPushButton::~SVGPushButton() {} void SVGPushButton::resizeEvent(QResizeEvent * event) { setIconSize( event->size() ); }