Qt designer n'est pas de mise à jour de l'interface graphique
Quelqu'un a écrit une interface graphique en Qt designer plus tôt et maintenant j'ai modifier quelques petites parties (c'est à dire ajouter un bouton/fonctionnalités).
Prémisse:
J'ai ajouter la nouvelle fonctionnalité/faire une quelconque modification à la .fichier d'interface utilisateur de Designer.
Je peux aller en mode d'édition et de voir que cela modifie le format xml de l' .fichier d'interface utilisateur
Problème:
Quand je l'ai créer et d'exécuter des Qt, l'ancienne version de l' .l'interface utilisateur est ce qui est montré (sans mes mises à jour de fonctionnalités).
J'ai essayé de nettoyer le tout et l'exécution de qmake, mais en vain.
Toutes les idées pour lesquelles cela pourrait se produire?
- Je l'ai résolu en supprimant pro.fichier de l'utilisateur. Mais je n'ai toujours aucune idée de pourquoi c'est arrivé.
- solution de travail pour moi stackoverflow.com/questions/8485230/...
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème et il a été résolu lorsque j'ai désactivé l'Ombre "Construire" dans les "Projets" de mode.
UPD:
Toujours reçu les upvotes pour cette réponse qui me rend triste pour 2 raisons
qmake
Je pourrais résoudre ce problème sans changer Ombre Construire de configuration.
Dans mon projet, je veux construire avec les fichiers de sortie dans construire-ProjectName-Debug
Mais la QtCreator est pas intelligent pour vérifier si ce ne sont pas des fichiers moc_FileName.cpp et ui_FileName.h dans le répertoire de construction.
Ce problème se produit car si ces fichiers moc_FileName.cpp et ui_FileName.h sont dans le répertoire du projet le QtCreator les utilise et ne reconnaît aucune modification sur .l'interface utilisateur fichiers.
La solution à ce problème a été facile pour moi:
Supprimer tous les moc_FileName.cpp et ui_FileName.h de répertoire de projet et Reconstruire.
Ces fichiers seront créés dans construire-ProjectName-Debug et toutes les modifications seront là.
Lorsque vous modifiez un
.ui
fichier, quelqu'un a besoin pour exécuteruic.exe
sur le fichier pour générer un fichier d'en-tête. Par exemple, pour une fenêtre appeléeMyWindow.ui
, cela va générer un fichier appeléui_MyWindow.h
.C'est alors ce qui est utilisé lorsque l'application est reconstruit.
Vous ne précisez pas la façon dont vous construisez ou sur quel système d'exploitation, donc il est difficile de vous aider sur cette fin. Si vous êtes en utilisant Visual Studios, il est possible d'intégrer votre
.ui
fichiers dans vos projets, de sorte que lorsque vous modifiez l'un.ui
fichier, tous les fichiers générés seront recréés automatiquement. La même chose est possible si vous utilisez.pri
fichiers.En tout cas, je courrais:
S'il vous plaît changer les noms des fichiers que l'on utilise.
uic.exe
peuvent être trouvés dans votre Qtbin
répertoire.Puis une fois que vous avez généré le fichier d'en-tête, essayez de trouver où il va dans le répertoire build. Puis reconstruire.
- Je résoudre ce problème par
clean
puisbuild
.Je trouve que ,si j'ai cochéShadow Build
,qtCreator allez utiliser l'ancien .obj,autre que de générer de nouvelles .obj même si le ui_xxx.h a été modifié,afin de générer .exe lorsque débogage agin.Mon environnement est qt5.5 + msvc2013.C'est ce qui m'a aidé personnellement, ajouter à qmake fichier:
UI_DIR = $$PWD
J'ai eu le même problème et a pu le résoudre par la suppression de tous les fichiers Makefile dans le répertoire de construction, puis de reconstruire à partir de zéro. Pour une raison quelconque, ces fichiers ne sont pas supprimés lorsque vous exécutez Propre Projet à partir de Qt Creator.
Même problème pour moi.
Rien ne fonctionne jusqu'à ce que je changé l'installation de Qt 5.0.2 (MSVC 2010) pour Qt 5.0.2 (mingw).
Maintenant, il fonctionne à nouveau...câblé
J'ai eu le même problème: pas de changement de l'interface est apparu après la construction.
Le problème, comme mentionné ci-dessus est que l'interface utilisateur des fichiers ne sont pas d'être refaite.
Décochant l'ombre construire résolu le problème pour moi, mais seulement une fois. Après que je ne pouvais pas voir ultérieure de l'interface utilisateur change de nouveau. J'ai donc revérifié ombre construire et supprimé l'existant ombre dossier de création. Cela fonctionne toujours maintenant, tant que je supprime tous les fichiers de build. Mais c'est boiteux. Il doit être capable de détecter les changements de l'interface et de recréer les fichiers.
Je pense que cela devrait être enregistré comme un bug dans Qt Creator/Designer.
J'ai supprimé tous les auto-gen fichier dans le dossier source. quand j'ai décoché l'ombre de construire, auto gen fichier a été créé dans le dossier source. après, quand j'ai vérifié l'ombre de construire, compilateur utilisez uniquement la source du dossier gen fichier. J'ai donc supprimé tous les auto-gen fichier(ui_, moc_) et puis l'interface utilisateur a été mis à jour toujours.
Dans mon cas, le problème a été causé par un changement de nom de l' .fichier d'interface utilisateur. Qt Creator n'a pas de mise à jour de la #inclure le fichier d'en-tête "ui_[name_of_ui_file].h" dans le .fichier cpp correspondant à la forme. De toute façon, nettoyage tous les "ui_*.h" les fichiers dans l'ombre dossier de création a résolu le problème (je suppose que décochant "l'ombre "construire" dans l'onglet Projet produirait le même effet).
Avez-vous été à jouer avec le système de date ou de temps ou ils étaient différents de ceux de vos collègues de l'ordinateur? J'ai changé le temps de quelques heures plus tard pour faire des tests (et la compilation du projet dans le temps) et après restauration à l'heure actuelle, la compilation des fichiers n'ont pas été mis à jour parce qu'ils étaient plus récents que le temps de compilation. L'exécution de
Clean
n'a pas de supprimer ces fichiers. En décochant laShadow build
option ne m'ont donné que des plantages et une introuvable0xc0000135
erreur. Supprimer manuellement les moc_*.o et *.rpc fichiers avec l'avenir de la date/heure à partir du répertoire de construction et de la compilation de l'ensemble du projet a de nouveau été la solution pour moi.Comme mentionné ci-dessus, l'interface utilisateur des fichiers ne sont pas d'être recréé. Pour moi, la solution la plus simple est tout simplement de frapper Reconstruire au lieu de les renforcer. Pas besoin d'aller dans projet submenues à chaque fois.
Aussi longtemps que votre projet n'est pas trop grand, c'est OK (en dehors de cela est un bug que qt a pendant de longues années maintenant)
J'ai eu le même problème et alors rendu compte que j'ai modifié le .pro fichier manuellement: c'est que j'ai fait "illégal" chose déplacé mainwindow.l'interface utilisateur sous DISTFILES (par défaut, tous les de l'interface utilisateur fichiers sont regroupés sous FORMES).
Retourné à FORMES et maintenant tout fonctionne très bien
Ajouter la ligne suivante dans .fichier pro