Ich habe Schwierigkeiten, ein Hintergrundbild für einen QPushButton zu erstellen. Bisher kein Erfolg. Folgendes ist mein Code.Hintergrundbild für QPushButton einstellen
appsWidget::appsWidget(QWidget *parent)
:QWidget(parent)
{
QPushButton *button1 = new QPushButton("SETTINGS",this);
QPushButton *button2 = new QPushButton("TEST",this);
QPushButton *button3 = new QPushButton("IE",this);
button1->setStyleSheet("background-image:url(config.png)"); -> No success
qDebug("appWidget initialized.");
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
this->setLayout(layout);
connect(button1,SIGNAL(clicked()),this,SLOT(setClickIndex1()));
connect(button2,SIGNAL(clicked()),this,SLOT(setClickIndex2()));
connect(button3,SIGNAL(clicked()),this,SLOT(setClickIndex3()));
}
Das Bild, das ich im Stylesheet verwende, befindet sich im selben Projektordner. Hat jemand eine Lösung?
In dem obigen Code sollte ich Größe meines Bildes anpassen, um auf die Schaltfläche passen oder es wird automatisch erledigt werden? –
Sie können in beide Richtungen gehen. Ursprünglich habe ich mein Bild extern auf 50x50 in einem Editor skaliert, aber dann entschied ich mich für 40x40 - 'setIconSize()' skaliert das Icon auf was auch immer Sie wollen. –
Dies ist nicht korrekt, Sie müssen das Flat-Attribut oder den Autofill-Hintergrund nicht festlegen. Sie können das Bild einfach über 'setIcon (":/path/to/image.png ")' laden. Normalerweise lade ich das Bild zuerst in eine 'QPixmap', damit es als Malwerkzeug verwendet werden kann und die Pixmap dann an das Element übergeben kann, das sie benötigt. –