我需要在图像顶部显示一个按钮。类似于
的东西
背景是QPixmap / QImage,按钮是QPush按钮。我需要能够动态更改图像 - 所以我不确定样式表是否适合该任务。我试过了this,但无法让它发挥作用。
任何解决方案?
答案 0 :(得分:3)
有类似的东西:
class WidgetWithButton
: public QWidget
{
Q_OBJECT
QImage m_bgImage;
public:
WidgetWithButton(QWidget* aParent)
: QWidget(aParent)
{
QHBoxLayout* l = new QHBoxLayout(this);
QPushButton* myButton = new QPushButton(tr("Close"));
l->addWidget( myButton, 0, Qt::AlignCenter );
}
void setImage(const QImage& aImage)
{
m_image = aImage;
update();
}
protected:
virtual void paintEvent(QPaintEvent* aPainEvent)
{
if (m_image.isValid())
{
QPainter painter(this);
painter.drawImage(rect(), m_image);
}
else
QWidget::paintEvent(aPainEvent);
}
};