我是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() );
- }