Promouvoir les widgets dans Qt Creator
Qt creator a la possibilité de faire la promotion d'un widget pour customly créé classe qui dérive de la base de widget - je veux l'utiliser pour promouvoir le widget de la classe dans le projet actuel. Qt creator me demande mon avis sur un nom de classe et le nom de fichier d'en-tête, et ceux de la valeur aller directement à *.l'interface utilisateur fichier, puis à ui_myform.h - le problème est que ce fichier peut être (et est souvent le cas) générés à l'extérieur de l'arbre source (dans l'arbre de construction) qui peuvent être à l'emplacement arbitraire, de sorte spécification directe de chemin dans la promotion de la fenêtre ne va pas aider. Comment laisser QtCreator/uic savoir où chercher à droite de l'en-tête? Est-il même possible?
Peut-être il ya certains Qt variable specyfying emplacement de la source de l'arbre, que je pourrais insérer dans l'en-tête champ nom de fichier?
Je suis à l'aide de l'auto-compilé QtCreator 2.0.1 + auto-compilation de Qt 4.7.1.
EDIT:
Pourquoi ne pouvez-vous pas juste taper le chemin complet du fichier nom du fichier d'en-tête?
Ce que si je vais déplacer l'arborescence des sources, ou même de le partager sur le web, alors tout le monde qui veut compiler mon projet serait de modifier ce chemin d'accès, soit dans Qt creator ou dans les fichiers source sont inacceptables.
source d'informationauteur j_kubik
Vous devez vous connecter pour publier un commentaire.
Le fichier d'en-tête que le Concepteur vous demande dans la promotion de la boîte de dialogue est VOTRE propre fichier d'en-tête qui définissent le widget personnalisé, non générés ui_*.h fichier.
Dites que vous voulez promouvoir une plaine
QWidget
àMyCustomWidget
vous devez déjà disposer d'une MyCustomWidget.h qui définit votreMyCustomWidget
classe inclus dans votre .pro fichier comme ceci:Et dans le widget de promotion de la boîte de dialogue, il suffit de taper dans MyCustomWidget.h. Le but de cela est donc l'interface utilisateur générée fichier d'en-tête (où il est) peut inclure VOTRE définition de la classe.
J'ai déjà dit que cette chose - j'ai été la promotion de ma classe, et donnant nom d'en-tête qui a été écrit, que c'était exact.
Le problème était que cette (auto écrite) fichier n'a pas été directement dans le répertoire du projet, mais dans
src
sous-répertoire (là où les autres sources sont aussi), je ne suis pas à l'aide de sous-dossiers du modèle, mais simplement en les ajoutant commeLa promotion de l'option ne nécessite pas de chemin d'accès complet, mais il a besoin d'elle comme il apparaît dans
*.pro
fichier - dans ce cas, la commutation demyWidget.h
àsrc/myWidget.h
a fait le tour et il ne fonctionnera que si je le déplacer ou de le partager.Si le promu forme de widget
(.ui)
et les fichiers de classe(.cpp, .h)
sont dans un projet Qt Creator sous-répertoire et j_kubik la solution n'aide pas, il affiche l'erreur("foo.h not found")
essayez d'utiliser le fichier d'en-tête le nom de la promotion et de fournir le chemin d'accès commeINCLUDEPATH
dans le .fichier pro.