Bonjour à tous.
Je m'amuse beaucoup avec Qt pour le moment et plus spécialement avec ce que propose Qt Designer. J'ai créé un plugin pour qu'un nouveau widget personnalisé soit ajouté à Qt Designer car je vais en avoir besoin souvent et c'est bien pratique.
Tout (presque ) fonctionne bien:
- je peux utiliser le nouveau widget qui est bien présent dans Qt Designer.
- la compilation du projet qui utilise ce widget se déroule bien
Malheureusement, je suis obligé de faire référence aux sources de ce widget pour que tout se passe aussi bien.
Voici le .pro (simplifié) de ce projet:
Rien de bien compliqué si ce n'est que dans la liste des fichiers je dois faire référence à mes fichier tablemultiview.cpp et tablemultiview.h du widget TableMultiView.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SOURCES += main.cpp \ (...) /home/seb/QtWorkspace/TableMultiView/tablemultiview.cpp HEADERS += (...) /home/seb/QtWorkspace/TableMultiView/tablemultiview.h FORMS += (...) RESOURCES += (...) INCLUDEPATH += /home/seb/QtWorkspace/TableMultiView/
Je ne trouve pas ca très propre et d'ailleurs j'ai jamais eu à la faire pour les widgets proposés par défaut dans Qt Designer!
Y a-t-il une meilleure solution (de sorte que je ne doivent pas le faire pour chaque widget perso.)?
Peut-être que le .pro du plugin est mal fait:
tablemultiview.pri:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 CONFIG += designer plugin release TARGET = $$qtLibraryTarget(tablemultiviewplugin) TEMPLATE = lib DESTDIR = $$[QT_INSTALL_PLUGINS]/designer QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/designer HEADERS = tablemultiviewplugin.h SOURCES = tablemultiviewplugin.cpp RESOURCES = icons.qrc LIBS += -L. target.path = $$[QT_INSTALL_PLUGINS]/designer INSTALLS += target include(tablemultiview.pri)
Edit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 HEADERS += tablemultiview.h SOURCES += tablemultiview.cpp FORMS += tablemultiview.ui
Je précise que je suis sous ubuntu
Partager