Tôi mới sử dụng Qt nên hãy tha thứ cho sự thiếu hiểu biết của tôi.Qt: tạo "nút hình ảnh svg"
Tôi đang cố gắng tạo nút 'svg image' bằng QSizePolicy :: Được ưu tiên cho cả ngang và dọc. Phần đó hoạt động. Khi cửa sổ được thay đổi kích thước, nút sẽ tăng lên và co lại chính xác như cách tôi muốn ... Nhưng hình ảnh trong nút vẫn giữ nguyên kích thước. Tôi muốn hình ảnh được phóng to bằng nút. Tôi đã cố gắng để quá tải resizeEvent, và gọi setImageSize, nhưng đó là vô hạn đệ quy.
#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, đó là Qt, không QT. –