Bonjour,
Je rencontre un petit problème d'affichage d'un fond dans un QWidget de la zone centrale de ma fenêtre principale.
Quand je passe par le Designer, que j'ajoute le widget, que je fais une mise en page sous forme de grille, puis que j'ajoute un stylesheet allant chercher mon image de fond (background-image), aucun problème.
Quand j'essaie d'implémenter l'équivalent, je ne vois pas mon image de fond.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int main(int argc, char* argv[]) { QApplication app(argc, argv); loadStyleSheet(); MainWindow w; w.show(); return app.exec(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); m_myWidget = new MyWidget(this); m_myWidget ->setObjectName("centre"); setCentralWidget(m_myWidget ); showFullScreen(); }J'ai essayé d'ajouter un simpe bouton dans un grid layout à l'intérieur de mon widget passé au centre et il prend bien en compte le stylesheet qui lui est associé.#centre { background-image : url(../MyProj/Images/test.bmp) }
Auriez-vous une idée ?
Merci
Edit : j'ai pris un exemple tout bête :
Ce code fonctionne :
et celui-ci non :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int main (int argc, char **argv) { QApplication app(argc, argv); app.setStyleSheet("#centralWidget {border: 1px; border-right: 1px solid #A7A6A6;" \ "border-left: 1px solid #A7A6A6; border-top: 1px solid #A7A6A6;" \ "border-top-right-radius: 10px; border-top-left-radius: 10px;" \ "background: rgb(0, 200, 200);}"); QMainWindow win; QWidget widget; widget.setObjectName("centralWidget"); win.setCentralWidget(&widget); win.show(); return app.exec(); }
c'est bizarre quand même!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 int main (int argc, char **argv) { QApplication app(argc, argv); app.setStyleSheet("#centralWidget {border: 1px; border-right: 1px solid #A7A6A6;" \ "border-left: 1px solid #A7A6A6; border-top: 1px solid #A7A6A6;" \ "border-top-right-radius: 10px; border-top-left-radius: 10px;" \ "background: rgb(0, 200, 200);}"); QMainWindow win; win.show(); return app.exec(); } MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QWidget widget; widget.setObjectName("centralWidget"); setCentralWidget(&widget); }
Partager