IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Creator Discussion :

Utiliser des fichiers UI ?


Sujet :

Qt Creator

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut Utiliser des fichiers UI ?
    Bonjour à tous,

    J'ai suivi un tuto sur QtCreator.

    Pour moi il y a deux façon de créer son interface graphique :
    -par le code
    -par le main.ui

    Il est plus simple d'utiliser le fichier main.ui à mon sens afin de ne pas se casser la tête avec le positionnement et la taille des widgets. Qu'en pensez-vous?

    La structure du code est peut être différente du coup en utilisant le main.ui !

    Merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 669
    Points : 10 674
    Points
    10 674
    Par défaut
    Avec l'utilisation des uis

    Création d'une fenêtre (fichier .ui) -> uic pour compiler son fichier .ui -> classe C++ qui est en gros un gros "sac" avec tous tes uis en attributs + le système de localisation -> classe qui est la classe mère (dans les Qt récents) de ta fenêtre "code"

    C'est pour cela que j'ai du mal avec les fichiers .ui : ce sont plus une contrainte qu'autre chose parce que tu ne peux pas changer de vue (fichier .ui ) à l'exécution (comme sous iOS ou Android) et qu'il y a des limitations dans QtCreator qui t'oblige à modifier le code à la main (mais je ne me rappelle plus lesquelles , peut être configurer le "Central Widget")

    Moi je fais une approche intermédiaire: je crée ma fenêtre avec QtCreator, je compile mon fichier à la ligne de commande et ensuite je réinjecte le code compilé dans mon code.
    Comme cela je n'ai pas d'héritage et je peux modifier le code généré: mais c'est pénible

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    Tu ne peux pas changer de vue?

    Tu peux me redécrire ton approche intermédiaire?

    Comment faire? il est plus simple de passer par un main.ui pour le placement des widgets non?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 669
    Points : 10 674
    Points
    10 674
    Par défaut
    La compilation des fichiers .ui est automatique avec qmake.
    C'est mieux expliquer sur ce lien : Using a Designer UI File in Your Application

    Je suis juste débutant et c'est dommage qu'un expert n'ait pas répondu

    Lorsque je dis, on ne peut pas changer de vue, il faut le comprendre ainsi: "Avec la méthode automatique, on ne peut pas recharger une vue existante avec un autre fichier .ui, ni ajouter en tant que sous-vue un fichier .ui"

    Et pourtant faire ces fenêtres de façon WISIWIG c'est très important parce que cela permet de séparer la logique IHM des écrans (en gros, ton code n'est pas pollué de code pour ajouter et/ ou configurer tes uis)

    Mais sur ce point Qt et son héritage/ composition d'une classe qui contient tous les uis, ce n'est pas génial: avec la méthode automatique, tu dois constamment détruire tes fenêtres et en recréer.

    La solution que j'ai trouvé c'est de faire le processus à la main : dans la ligne de commande tu utilises la commande uic
    Et ensuite tu ouvres les fichiers .h .c générés et tu copies-colles les attributs uis et le constructeur.

    Ainsi, cela te permet de faire ce que tu veux . Par exemple, tu peux mettre tes uis dans un tableau pour pouvoir soit cacher soit détruire soit rajouter une fenêtre dans une fenêtre existante.

Discussions similaires

  1. [C#][Vs2005] utilisation des fichiers resx
    Par camilero dans le forum Windows Forms
    Réponses: 12
    Dernier message: 13/04/2006, 14h43
  2. Est-il possible d'utiliser des fichiers xsl en cascade ?
    Par Faekk dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/08/2005, 12h34
  3. Copie de 2 bases SQLserver en utilisant des fichiers
    Par dimdidi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/08/2005, 09h26
  4. [NASM] Utiliser des fichiers ressources
    Par trax44 dans le forum Assembleur
    Réponses: 8
    Dernier message: 26/09/2004, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo