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 Discussion :

Créer ses propres widgets dans un fichier UI


Sujet :

Qt

  1. #1
    Membre habitué Avatar de robinsondesbois
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 171
    Points : 173
    Points
    173
    Par défaut Créer ses propres widgets dans un fichier UI
    Bonjour,

    J'ai redéfinit une classe de Qt (QVTKWidget) et je souhaite l'intégrer dans mon fichier ui.
    Vous l’aurez surement compris ce code ne fonctionne pas.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <widget class="QWidget" name="centralwidget">
            <widget class="ownQVTKWidget" name="qvtkWidgetleft">
              <property name="geometry">
                <rect>
                  <x>0</x>
                  <y>0</y>
                  <width>800</width>
                  <height>1200</height>
                </rect>
              </property>          
            </widget>
     
        </widget>

    Alors que celui ci oui :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
            <widget class="QVTKWidget" name="qvtkWidgetleft">

    Quel est la façon "générale" pour intégrer ses propres widgets directement dans le .ui ?
    Je n'utilise pas de logiciel pour générer le .ui

  2. #2
    Membre habitué Avatar de robinsondesbois
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 171
    Points : 173
    Points
    173
    Par défaut
    Bon il me semble que ce n'est pas possible. L'astuce consiste à mettre un widget vide dans le ui et par la suite ajouter le sien en fil du widget.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    J'ai lu récemment, que le widget personnalisé doit avoir un constructeur qui prenne juste un QWidget* comme parent.
    Sinon, cela se fait avec le bouton "promouvoir" si je me rappelle bien. Donc à travers le designer.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 222
    Points : 766
    Points
    766
    Par défaut
    Bonjour,

    Personnellement j'utilise le designer, j'ai récemment intégré un widget que j'ai développé moi-même et ça m'a ajouté l'équivalent de la ligne suivante dans le .ui.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <widget class="ClasseWidget" name="nomDuWidget" native="true"/>

    et à la fin (avant la fermeture de la balise ui) j'ai l'équivalent de
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <customwidgets>
      <customwidget>
       <class>ClasseWidget</class>
       <extends>QWidget</extends>
       <header>ClasseWidget.h</header>
       <container>1</container>
      </customwidget>
     </customwidgets>

    pour autant que je sache, il faut effectivement que le constructeur de ta classe ne prenne qu'un pointer sur le QWidget parent en argument

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class ClasseWidget: public QWidget
    {
        Q_OBJECT
     
    public:
        ClasseWidget(QWidget *parent = 0);
        ~ClasseWidget();
    ...
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2009, 09h16
  2. Créer ses propres raccourcis clavier dans FireFox
    Par ToTo13 dans le forum Firefox
    Réponses: 2
    Dernier message: 06/12/2007, 16h57
  3. Suppression de ses propres messages dans une discussion
    Par Kcirtap dans le forum Evolutions du club
    Réponses: 2
    Dernier message: 18/04/2006, 08h37
  4. [Struts]créer ses propres tag struts
    Par jeb001 dans le forum Struts 1
    Réponses: 3
    Dernier message: 08/09/2005, 19h56
  5. Programme permettant de créer ses propres paquets TCP/UDP
    Par mat087 dans le forum Développement
    Réponses: 6
    Dernier message: 21/05/2004, 21h42

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