Qt Creator problem. Änderungen an der Benutzeroberfläche nicht angezeigt, wenn das Projekt gebaut ist
Mache ich änderungen an einem Formular in Creator aber wenn ich Baue die änderungen sind nicht "aufgefrischt".
Ich habe so weit gegangen, zu entfernen jedes element von der form und loszuwerden, jedes stylesheet, aber wenn ich das Projekt erstellen, bekomme ich das gleiche Ergebnis, als hätte ich nie eine änderung vorgenommen auf alle.
Was gibt? Übersehe ich hier etwas offensichtliches? (offensichtlich für jedermann, aber mir.. offensichtlich)
- Ich vernachlässigt, um zu erwähnen, dass dieses Projekt entstand in einer früheren version von Qt Creator und ich bin derzeit mit v2.0....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, dass Sie mit QtCreator 2.0? Ich fand die gleiche seltsame Problem. Sie haben zwei Optionen:
ui_{the_name_of_design}.h
von der Projekt-build-dir. Dann laufenqmake
wieder.make clean
oder Bauen → Rebuild AllAber die zweite option auch nicht helfen, bei mir. Durch die Art und Weise, die ist, warum ist es gut, einen anderen build dir als, dass, wo die Quellen sind. Wenn einige änderungen nicht angezeigt, angewendet werden, löschen Sie einfach den Inhalt der build dir, und alles geht auch gut.
Cheers
ui_mainwindow
auf dem Projekt-Ordner, entfernen Sie diese, und führen Sieqmake
wieder zur Erstellung der Datei 🙂Wahrscheinlichste Ursache, wenn Sie, dass Ihr make-Verfahren ist nicht zu bemerken, die änderungen in die .ui-Datei, und so ist es nicht, den Aufruf der
uic
tool. Versuchen zu tun, einmake clean
um zu sehen, ob es hilft, und überprüfen Sie Ihre build-log zu sehen, wennuic
aufgerufen wird.Für mich, die Lösung war die änderung der Buildverzeichnis in das gleiche Verzeichnis, wo der code ist, statt der **-build-desktop-Verzeichnis.
Stolperte ich über diese Angelegenheit und eine Sache, die ich bemerkte, war, dass mein Programm war noch im hintergrund laufen, ohne von mir zu wissen. Die Aufgabe zu beenden über den task-manager behoben werden und Sie können änderungen wieder.
Ein paar Vorschläge:
make distclean
.Dieser thread ist ein wenig veraltet, aber da ich geriet in das gleiche problem ich dachte, ich würde teilen, wie ich dieses Problem gelöst.
Ich habe schrittweise den Aufbau einer ui-designer unter QtCreator 2.4.1/Qt 4.8.1 unter Verwendung eines Armen Mannes-source-control-Ansatz: snapshots. An einem Punkt, den ich versehentlich erstellt eine nicht-shadowing-Projekt erstellen. In einem nachfolgenden snapshot-ich rückgängig gemacht, das Projekt zurück zu shadow bauen und an diesem Punkt neue widgets Hinzugefügt, in dem ui-Formular wurden nicht mehr erkannt im bauen.
Lösung:
Löschen von veralteten ui_.h-Dateien aus dem Quellverzeichnis.
Löschen Sie stellen und ui_.h-Dateien von Ihrem shadaow build-Verzeichnis.
Rebuild
Neueste generiert ui_.h-Dateien wieder in den Schatten build-Verzeichnis.
Keine Kopien von ui_.h-Dateien werden in das Verzeichnis der Quellen, der angibt, dass die veraltete Dateien wurden unter Vorrang in der Reihenfolge für Erstellung". Nicht offensichtlich ist.
Habe ich dieses problem und ich löse es, indem Sie den Projekt Pfad. Ich hatte gespeichert, das Projekt in meinem flash-Speicher, wenn ich hatte dieses problem, dann kopiere ich den Projekt-Ordner und die Ordner auch auf dem Desktop und öffnen es mit QtCreator und das problem war gelöst.
Problem ist in der Tat veraltete generierten Dateien in den Projekt-source-Verzeichnis. Dies kann passieren, sowohl mit genrated
ui_*.h
Dateien, sowie mitmoc_*.*
- Dateien. Unten wird nicht abgedeckt durch die bereits vorhandenen Antworten, also hier wir gehen:Entfernen generierten Dateien aus dem Projekt-Quellcode-Verzeichnis, ohne dass der Qt Creator-Einstellungen oder aktuellen shadow-build-Verzeichnisse, es gibt im wesentlichen zwei Möglichkeiten, die miteinander kombiniert werden können für zusätzliche Abdeckung.
Gehen Qt-Eingabeaufforderung, wechseln Sie zum project-source-Verzeichnis und führen Sie diese Befehle aus:
1. man wird rekursiv erstellen von makefiles. 2. man entfernt alle Dateien produziert, die durch das Projekt zu erstellen. 3. man entfernt die makefiles wieder. Dann weiter mit shadow-build von Qt Creator als zuvor.
Das problem mit diesem ist, er verlassen wird-Dateien, die nicht Teil des Projekts. Also, wenn Sie einige Dateien entfernt wurden, aus dem Projekt zugehörigen generierten Dateien können bleiben, und verursachen Probleme, wenn Dateien mit dem gleichen Namen wieder Hinzugefügt. So auch nach so es ist gute Idee zu überprüfen, keine
ui_*
odermoc_*
Dateien bleiben erhalten, wenn Sie wissen, dass Sie die Dateien gelöscht haben aus dem Projekt.Verwenden Sie Ihre version control software zum ersten commit oder stash/Regal alle nicht festgeschriebenen änderungen, und entfernen Sie dann alle nicht versionierten (auch sonst ignoriert) - Dateien. Für einige Versionskontroll-software kann dies nicht einfach als
git clean -dxf
(Vorsicht, wird auch verlieren, ungebunden änderungen und Qt Creator benutzerdefinierte Projekt-Einstellungen), und in diesem Fall kann es einfacher sein, entfernen Sie einfach das Projekt-source-Verzeichnis und eine saubere Kaufabwicklung.Das problem mit diesem ist, wenn die generierten Dateien, die versehentlich Hinzugefügt wurden Projekt, werden Sie nicht gereinigt werden, mit diesem. So kann es immer noch eine gute Idee zu tun, die oben in Schritt 1 zu.
Oben genannten Schritte sollten synchron sein, so dass nach dem Schritt 1, werden alle Dateien im Quell-Verzeichnis (mit Ausnahme der Qt-Creators ist
projectname.pro.user
und möglich*~
backup-Dateien) sollten unter Versionskontrolle.