画像の上にボタンを表示する必要があります。に似たもの
背景は QPixmap/QImage で、ボタンは QPushbutton です。画像を動的に変更できるようにする必要があるため、スタイルシートがそのタスクに適しているかどうかはわかりません。これを試しましたが、動作しませんでした。
解決策はありますか?
次のようなものがあります。
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);
}
};