Comment appeler créé .conception de l'interface utilisateur formulaire en Qt avec bouton.clicked() de l'événement?
Je suis très nouveau dans Qt et je voudrais demander comment appeler le créé .l'interface utilisateur concepteur de formulaire pour être connecté avec le bouton-Poussoir dans MainWindow.
Ce que j'ai fait:
1. Créé un nouveau .conception de l'interface utilisateur forme (les Formes.clic droit -> Ajouter un Nouveau -> Qt Designer Formulaire) pour le projet en cours.
2. Conçu un sujet dans la boîte de dialogue .l'interface utilisateur a créé.
3. Faire une fente bouton-Poussoir.clicked() dans la MainWindow.
Pour tous ceux qui ont fait la programmation avec Qt, merci de m'aider à résoudre ce problème pour connecter le bouton avec l' .interface utilisateur de la forme, de sorte que le bouton-Poussoir peut appeler/afficher le formulaire créé dans le .l'interface utilisateur.
Merci pour votre attention.
OriginalL'auteur anarchy99 | 2011-12-17
Vous devez vous connecter pour publier un commentaire.
À l'aide .l'interface utilisateur des fichiers est expliqué dans la documentation de Qt:
http://doc.qt.io/archives/qt-4.7/designer-using-a-ui-file.html
Résumé:
La façon la plus simple de gérer une .l'interface utilisateur du fichier est de le lancer à travers l'uic (le Compilateur d'Interface Utilisateur) au moment de la compilation. Ceci est fait automatiquement si l' .l'interface utilisateur du fichier est inclus dans votre projet.pro fichier. ("Ajouter un Nouveau" a probablement fait automatiquement dans votre cas.) Alors vous n'avez qu'à inclure le générés C++ fichier d'en-tête de votre fichier source. Son nom devrait être quelque chose comme "ui_nameoftheoriginaluifile.hpp". Bien sûr, après cela, vous devez instancier la forme définie dans la .php fichier.
Modifiées afin d'ajouter:
Il ya plusieurs problèmes avec votre code, à compter de sa lisibilité. Je ne sais pas si vous avez utilisé un langage orienté objet avant, mais une très grande règle de base en C++ est de commencer la classe des noms avec des lettres majuscules pour les rendre plus faciles à distinguer des objets et d'autres variables. Si les noms de classe doivent être "Sur", "Parent", etc.
L'erreur de compilation est causé par l'utilisation de "sujet" au lieu du nom de la classe utilisée dans le "ui_about.hpp" fichier " - "MainWindow". (Qui est déterminé par le nom du formulaire que vous avez utilisé dans le .fichier d'interface utilisateur.)
Si vous êtes à l'aide de Qt Creator: maintenez la touche Ctrl enfoncée et cliquez sur le nom du fichier "ui_about.h" dans la directive include. Cela va ouvrir à l'inspection. Essayez de comprendre comment il fonctionne.
Vous aussi vous n'avez pas défini l'opDialog() fonction en tant que membre de la "mère" de la classe "parent.cpp", ce qui provoque une autre erreur de compilation.
Vous aussi vous ne devriez pas être à l'aide d'un QMainWindow pour un dialogue à propos. QMainWindow est censé être la fenêtre principale de votre application, il ne devrait pas être plus cas de.
Donc, sur.h:
Et le début de about.cpp:
Lors de l'envoi d'archives à d'autres personnes, veuillez utiliser le plus portable des formats d'archive de RAR. ZIP, par exemple, est acceptable, n'importe où.
Je vais modifier ma réponse avec des commentaires sur votre code.
OriginalL'auteur Daggerstab
Je suis très désolé, monsieur, si je peux juste répondre maintenant, après un long temps de ne pas l'exploitation forestière dans parce que je dois finir mon Visage Reconnaissance de projet dans mon collège.
Par ailleurs, j'ai résolu ma question après avoir essayé beaucoup de "Essais et Erreurs" et maintenant je peux le faire bien.
J'ai posté mon projet pour la réponse "Comment appeler créé .conception de l'interface utilisateur formulaire en Qt avec bouton.clicked() de l'événement?" dans mon blog personnel.
C'est le post le lien: http://hxr99.blogspot.com/2011/12/how-to-call-ui-design-form-with.html .
Il y a un lien pour télécharger l'exemple de projet pour l'appel de la fenêtre.
Peut-être que ça peut aider les gens à travers le monde, dans l'intervalle Qt de programmation.
Je suis très reconnaissant à vous de m'aider à résoudre mon problème et désolé si mon anglais n'est pas si bon.
Joyeux Noël et Heureuse Nouvelle Année. 🙂
OriginalL'auteur anarchy99