Ok, many thanks
For those who also problems with this have, here is the corrected class:
ownbutton.h:
#ifndef OWNBUTTON_H
#define OWNBUTTON_H
#include <QtGui>
#include <QPixmap>
Q_OBJECT
Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap
)
public:
QSize minimumSizeHint
() const;
virtual void setPixmap
(const QPixmap &image
);
protected:
private:
};
#endif // OWNBUTTON_H
#ifndef OWNBUTTON_H
#define OWNBUTTON_H
#include <QtGui>
#include <QPixmap>
class OwnButton : public QPushButton {
Q_OBJECT
Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap)
public:
OwnButton(QWidget *parent = 0);
QSize sizeHint() const;
QSize minimumSizeHint() const;
const QPixmap *pixmap() const;
virtual void setPixmap(const QPixmap &image);
protected:
void paintEvent(QPaintEvent *event);
private:
QPixmap _pixmap;
};
#endif // OWNBUTTON_H
To copy to clipboard, switch view to plain text mode
ownbutton.cpp:
#include "ownbutton.h"
#include <QtGui>
}
QSize OwnButton
::sizeHint() const { return QSize(_pixmap.
width(), _pixmap.
height());
}
QSize OwnButton
::minimumSizeHint() const { return QSize(_pixmap.
width(), _pixmap.
height());
}
painter.drawPixmap(0, 0, _pixmap.size().width(), _pixmap.size().height(), _pixmap);
painter.drawRect(0, 0, _pixmap.size().width()-1, _pixmap.size().height()-1);
}
const QPixmap *OwnButton
::pixmap() const { return &_pixmap;
}
void OwnButton
::setPixmap(const QPixmap &image
) { _pixmap = image;
this->resize(_pixmap.size().width(), _pixmap.size().height());
}
#include "ownbutton.h"
#include <QtGui>
OwnButton::OwnButton(QWidget *parent) : QPushButton(parent) {
}
QSize OwnButton::sizeHint() const {
return QSize(_pixmap.width(), _pixmap.height());
}
QSize OwnButton::minimumSizeHint() const {
return QSize(_pixmap.width(), _pixmap.height());
}
void OwnButton::paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.drawPixmap(0, 0, _pixmap.size().width(), _pixmap.size().height(), _pixmap);
painter.drawRect(0, 0, _pixmap.size().width()-1, _pixmap.size().height()-1);
}
const QPixmap *OwnButton::pixmap() const {
return &_pixmap;
}
void OwnButton::setPixmap(const QPixmap &image) {
_pixmap = image;
this->resize(_pixmap.size().width(), _pixmap.size().height());
QWidget::updateGeometry();
}
To copy to clipboard, switch view to plain text mode
Regards
NoRulez
Bookmarks