9 votes

L'interface graphique de Qt ne change pas après la compilation

J'ai créé une interface graphique en utilisant le Qt Designer compilé et exécuté.
J'ai ensuite apporté quelques modifications à l'interface graphique et j'ai recompilé à nouveau, mais l'interface graphique est restée la même.
Même si je supprime les widgets et que je recompile, ils apparaissent...

Intenté Clean All y Clean Project mais sans succès...
Quel peut être le problème ?

7voto

Celal Ergün Points 548

Vous pouvez recompiler votre interface utilisateur avec la commande suivante. Cela a fonctionné pour moi.

uic mainwindow.ui>ui_mainwindow.h

5voto

osbuilder Points 166

Je sais qu'il s'agit d'un vieux fil de discussion, mais je suppose qu'il est toujours actif. L'une des raisons de ce comportement bogué est que la case à cocher Shadow build est activée. Cliquez sur l'icône "Project" dans le Qt creator, sous Build-> General, décochez Shadow build. Reconstruisez à nouveau.

3voto

Dr Deo Points 2042

Je pense qu'il s'agit là d'un résumé de ce qui devrait se passer.

  • 1. commencer par un projet vide.
  • 2. utiliser QT designer pour créer un mainwindow.ui fichier.
  • 3. qt creator est censé créer pour vous un fichier d'en-tête ui_mainwindow.h contenant les définitions nécessaires pour votre interface utilisateur ainsi qu'une fonction membre setupUi(). QT creator génère ce fichier ui_mainwindow.h en appelant uic(compilateur d'interface utilisateur) .
  • 4. maintenant que vous avez ce fichier, ajoutez ce code à votre projet et je pense qu'il affichera correctement votre interface graphique Qt.
  • vous êtes libre d'éditer votre GUI dans Qt designer et de recompiler pour montrer les changements mis à jour (je pense) :)

    include "ui_mainwindow.h"

    include <QMainWindow.h>

    include <QApplication.h>

    int main(int argumentCount, char argumentValues[]) { QApplication app(argumentCount, argumentValues); Ui::MainWindow ui; QMainWindow myMainWindow= new QMainWindow(); ui.setupUi(myMainWindow); myMainWindow->show(); return app.exec(); }

ps : La classe Ui::MainWindow contient une fonction membre setupUi() qui configure pour vous l'interface graphique.
Assurez-vous que que vous avez le nom exact de la classe car c++ est sensible à la casse. Bonne chance.

1voto

AGo Points 119

Vous devez nettoyer votre répertoire source. Vous avez probablement deux fichiers ui_mainwindow.h dans des répertoires différents. Un fichier provient de votre compilation en ligne de commande, l'autre de votre compilation par Qt Creator. Cela m'est arrivé, et après nettoyage tout fonctionne bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X