Qt: erstellen einer "svg-image-Taste"

Ich bin neu in der Qt-also bitte entschuldigt meine Unwissenheit.

Ich bin versucht, zu erstellen eine "svg-image-button' mit QSizePolicy::Bevorzugt für horizontale und vertikale.
Das Teil arbeitet. Wenn das Fenster in der Größe geändert wird, wird die Schaltfläche wächst und schrumpft, genau so, wie ich will... Aber das Bild in der Schaltfläche die gleiche Größe bleibt.
Ich möchte das Bild, um die Waage mit der-Taste. Ich habe versucht zu überlasten resizeEvent, und rufen Sie setImageSize, aber das unendlich eine Rekursion.

#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() );
}
  • JFYI, es ist Qt nicht QT.
InformationsquelleAutor user99974 | 2009-05-02
Schreibe einen Kommentar