Eigenes Widget in Qt Designer verwenden

Alles rund um die Programmierung mit Qt
Antworten
rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

Eigenes Widget in Qt Designer verwenden

Beitrag von rubikon »

Moin.

Ich habe mir ein eigenes (visuelles) Widget erstellt.

Wie kann ich es anstellen, dass mir mein Widget im Qt Designer zur Verfügung steht, so dass ich es per Drag and Drop auf meine Formulare ziehen kann und im Quelltext per ui->myWidget damit arbeiten kann?

Viele Dank
almboa
Beiträge: 21
Registriert: 27. September 2009 11:52

Beitrag von almboa »

rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

Beitrag von rubikon »

Vielen Dank für den Hinweis.

Im ersten Schritt möchte ich erstmal versuchen dieses Beispiel zu verstehen:

http://doc.qt.nokia.com/latest/designer ... lugin.html

Ich habe es einfach mal kompiliert und die .dll wird auch im entsprechenen Verzeichnis erstellt:
C:\Qt\2010.05\qt\plugins\designer>dir *custom*
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: D0F0-32F2

Verzeichnis von C:\Qt\2010.05\qt\plugins\designer

09.06.2011 11:52 1.011.786 customwidgetplugin.dll
09.06.2011 11:52 10.010 libcustomwidgetplugin.a
2 Datei(en) 1.021.796 Bytes
0 Verzeichnis(se), 4.278.767.616 Bytes frei

C:\Qt\2010.05\qt\plugins\designer>
Allerdings kann ich das plugin unter Hilfe->Plugins... nicht sehen (siehe angehängter Screenshot). Sollte das aber nicht so sein?

Auch im Qt Designer ist weder das Widget nicht die Gruppe "Display Widgets [Examples]" zu finden...

Was habe ich falsch gemacht?
Dateianhänge
QtCreatorPlugIns.png
QtCreatorPlugIns.png (97.69 KiB) 6784 mal betrachtet
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Beitrag von ScyllaIllciz »

Du schaust Dir die Plugins des QtCreators an und nicht die des Designers!
Wenn Du die Plugins des Designers sehen willst, dann öffne ein Form und dann findest Du die Plugins im Menü unter ->Extras->Formulareditor->Plugins...
rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

Beitrag von rubikon »

Okay, das erklärt einiges. Viele Dank.

Wenn ich nun an der richtigen Stelle schaue, sehe ich dort den Eintrag
Das Plugin 'C:/Qt/qtcreator-2.2.0/bin/designer/customwidgetplugin.dll' verwendet eine inkompatible Qt-Bibliothek. Erforderlicher build-spezifischer Schlüssel "Windows msvc release full-config", erhalten "Windows mingw release full-config"
Bedeutet das ich muss das Plugin mit VS kompilieren? Oder was genau muss ich machen?
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Beitrag von ScyllaIllciz »

Das liegt daran, dass für den Qt Creator Binärversion der Mircosoft Kompiler verwendet wird. Das heißt Du muss für Dein Plugin ebenfalls den Microsft Kompiler nehmen!
rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

Beitrag von rubikon »

Wie genau muss ich das machen?
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Beitrag von ScyllaIllciz »

Zum Beispiel Microsoft Visual C++ Express installieren! Ist das installiert, erkennt der Qt Creator das und fügt den MS Compiler als Toolchain hinzu. Dann kannst Du diese Toolchain auswählen und damit Dein Plugin kompilieren.
rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

Beitrag von rubikon »

Das habe ich schon längst installiert.

Bei Qt Creator 2.2.0 kann ich auch sehen, dass er die Toolchain auch gefunden hat (siehe Screenshot). Off-Topic: Bei Qt Creator 2.0.1 finde ich dieses Fenster leider nicht :(

Nichts desto trotz kann ich die Toolchain aber nicht auswählen (siehe Screenshot) :cry:

Was stimmt da nicht?
Dateianhänge
QtCreatorProjekte.png
QtCreatorProjekte.png (78.42 KiB) 6746 mal betrachtet
Toolchain.png
Toolchain.png (54.06 KiB) 6746 mal betrachtet
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Beitrag von ScyllaIllciz »

Dann hast Du keiner Qt Version installiert, die mit dem MSVC kompiliert wurde. Wenn Du das QtSDK installiert hast, kannst Du die Lib's nach installieren!
rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

Beitrag von rubikon »

Erst nochmal vielen Dank für Deine Antworten und deine Geduld...
ScyllaIllciz hat geschrieben:Dann hast Du keiner Qt Version installiert, die mit dem MSVC kompiliert wurde.
Ja, das stimmt. Ich habe Qt nicht selber kompiliert sondern es mit dem SDK installiert.

ScyllaIllciz hat geschrieben:Wenn Du das QtSDK installiert hast, kannst Du die Lib's nach installieren!
Ich habe seinerzeit das QtSDK 2010.05 (Qt 4.7.0) installiert. Wie funktioniert das nachinstallieren der Libs?

Die Frage klingt vielleicht blöd... Das Programmieren klappt ja ganz gut, nur das drumherum erschließt sich mir nicht immer vollständig :-)
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Beitrag von ScyllaIllciz »

Dann solltest Du das aktuelle SDK runter laden und installieren. Dort kann man einstellen, was alles installiert werden soll auch die MSVC2008 Lib's. Damit wird auch Service Tool installiert, mit dem man nachträglich Sachen installieren/deinstallieren kann.

Mit Qt Creator 2.2 hat sich die Konfiguration der Toolchains geändert, deshalb ist das in 2.01 nicht möglich.
Antworten