Eigene Plugins

Alles rund um die Programmierung mit Qt
Antworten
simsalabim
Beiträge: 19
Registriert: 5. Februar 2009 13:41

Eigene Plugins

Beitrag von simsalabim »

Hallo Leute,

bin QT- Anfänger und versuche momentan ein eigenes Widget- Plugin für den QT-Designer(btw. QT4 Designer OpenSuse) zu erstellen. Leider gelingt es mir nicht. Kann mir vll jemand nochmal ganz genau erklären wie man das macht?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das hier schon angeschaut und ausprobiert? Was genau geht nicht?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
simsalabim
Beiträge: 19
Registriert: 5. Februar 2009 13:41

Beitrag von simsalabim »

ja das habe ich probiert. Das PRoblem ist dass er QDesignerCustomWidgetInterface
nicht kennt.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Tja - was wird da wohl sein wenn er eine Klasse nicht kennt? Include vergessen? --> http://doc.trolltech.com/4.4/qdesignerc ... rface.html
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
simsalabim
Beiträge: 19
Registriert: 5. Februar 2009 13:41

Beitrag von simsalabim »

Nein dass hatte ich natürlich gamacht.
#include <QDesignerCustomWidgetInterface>
dann tritt folgender Fehler auf:
calcedit.h:24:42: error: QDesignerCustomWidgetInterface: No such file or directory
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Moin,

fehlt vielleicht folgender Eintrag in Deinem Pro-File:

CONFIG += designer plugin

?

Gruß Michael
simsalabim
Beiträge: 19
Registriert: 5. Februar 2009 13:41

Beitrag von simsalabim »

Das leider auch nicht. Bekommme den selben Fehler.
Also ich habe meine Klasse calcedit(abgeleitet vom QLineEdit), d.h. Quellcode ist fertig und funktioniert. Was ist denn nun der nächste Schritt? Eigentlich doch z.B. die Klasse calceditplugin ersttelen(welche sich von QDeignerCustoomWidgetInterface ableitet). Muss diese direkt zu calcedit gehören? Verstehe das alles nicht so ganz
und wenn ich in der pro- file von calcedit TEMPLATE=lib mache kommt

Selected Subproject "calcedit"isn't binary ( lib ) !
Unable to determine the main program. If you want this
to be the selected subproject, set a main program under
Project -> Project Options -> Run Options

welches hauptprogramm?
simsalabim
Beiträge: 19
Registriert: 5. Februar 2009 13:41

Beitrag von simsalabim »

Okay habe das Problem gelöst. Aber wie sorge ich jetzt dafür dass das Plugin installiert wird? Also wo finde ich die Liste, in welcher steht was installiert werden soll?
Habe z.B. auch nicht verstanden wo das Q_EXPORT_PLUGIN2() hingehört und wie es funktioniert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Installieren musst Du es von Hand. Wenn du qmake benutzt kannst Du

Code: Alles auswählen

target.path = $$[QT_INSTALL_PLUGINS]/<plugin-typ>
INSTALLS += target
als Pfadangabe benutzen wenn es zu den anderen Designer-Plugins soll.

Und für Q_EXPORT_PLUGIN2 -> Doku
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
simsalabim
Beiträge: 19
Registriert: 5. Februar 2009 13:41

Beitrag von simsalabim »

Danke Christian81
Jetzt hab ichs bald :)
Folgender Fehler tritt jetzt auf:
Im Qt Designer bei den Plugins(Hilfe->Plugins) wird mein Plugin ganz unten unter Failed Plugins angezeigt. Da steht irgendwas mit undiefiniertes Symbol _ZN14calceditplugin12creatWidgetEP7QWidget
kann jemand etwas damit anfangen?
simsalabim
Beiträge: 19
Registriert: 5. Februar 2009 13:41

Beitrag von simsalabim »

Geschafft :)
Danke für eure Hilfe :wink:
Antworten