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

Discussion :

Question d'amateur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Février 2013
    Messages : 84
    Par défaut Question d'amateur
    Bonjour
    j'ai quelques question a vous poser

    1/ Comment creer sa propre classe et l'utiliser par la suite (quand j'essaye on m'indique une erreur no such file or directory)

    2/ A chaque fois je dois faire include pour chaque classe et ce que j'ai appris qu'on peut faire include <QtGui> qui doit suffire

    3/ J'utilise Qt 5.0.1 et a chaque fois je dois coller
    "QT += core gui
    greaterThan(QT_MAJOR_VERSION, 4):QT += widgets"
    dans le fichier .pro et ce que je peux me debarassser de cette tache ?

  2. #2
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    Salut, je peux peut-être répondre à quelques-unes de tes questions:

    1/ Pour créer ta propre classe -j'imagine que tu veux créer un widget personnalisé- il te suffit tout simplement de créer une nouvelle classe "MonWidget" qui hérite du widget Qt dont tu veux qu'il ait les caractéristiques de bases pour l'améliorer / en faire à peu près ce que tu veux.
    Un exemple:
    monwidget.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <QWidget>
     
    class MonWidget : public QWidget
    {
    public:
        MonWidget(QWidget *parent = 0);
        ~MonWidget();
     
        // puis ici tu personnalises la classe à ta façon, tu peux agir sur les évennements, les fonctions de d'affichage, etc.
     
    };

    2/ Tu peux effectivement faire #include<QtGui> au lieu d'une multitude de #include<QWidget>, #include<QPushButton, #include<QLabel> ...
    Ça peut faciliter la vie, mais ça n'est pas forcémment une meilleur solution: avec tous les #include-s, tu t'assure que tu n'inclus que ce dont tu as besoin, et ça mettra moins de temps à la compilation.

    3/ N'ayant jamais utilisé Qt5 je ne peux malheureusement pas t'aider sur ce point !

  3. #3
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Hie,

    3) Non, c'est la nouvelle manière.

    Mais puisque tu n'utilises que Qt5, tu peux simplifier en
    Après tout, il fallait déjà faire ça pour certains modules (sql, par exemple).

    Il n'y a pas de quoi en faire un drame.

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Février 2013
    Messages : 84
    Par défaut
    @ Layl_
    1/ je peux appeler la classe dans un autre projet ? car si je fais ça (include<monWidget.h> dans un autre projet on m'indique no such file or directory)

    2/vous m'avez mal compris pour moi ça ne fonctionne pas quand j'appelle QtGui seulement ce qui n'est pas normal
    merci

  5. #5
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    1/ Bien entendu, tu peux appeler la classe dans un autre projet, mais assure toi que les fichiers .h et .cpp correspondants sont dans le même dossier que ton projet, ou du moins que tu spécifies un chemin correct.

    2/ C'est certainement que tu fais appel à des classes qui ne sont pas inclues avec "QtGui". Par exemple, après avoir fait #include <QtGui>, tu n'auras plus à te soucier d'inclure QWidget, QLabel, etc. Mais je ne sais pas ce qu'il en est pour, par exemple, QTimer ou QFile, qui ne sont pas des éléments d'interface graphique (GUI = Graphical User Interface).

    edit: pour ne plus avoir à te soucier de rien, il me semble que tu peux faire:
    #include <Qt>
    ou
    #include <QtCore>
    #include <QtGui>
    mais le temps de compilation devient tout de suite beaucoup plus long !

  6. #6
    Membre confirmé Avatar de doderic
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 215
    Par défaut
    Citation Envoyé par Nymar Voir le message
    @ Layl_
    1/ je peux appeler la classe dans un autre projet ? car si je fais ça (include<monWidget.h> dans un autre projet on m'indique no such file or directory)

    2/vous m'avez mal compris pour moi ça ne fonctionne pas quand j'appelle QtGui seulement ce qui n'est pas normal
    merci
    le fichier monWidget se trouve dans ton projet donc ton inclusion doit être #include"monWidget.h" . En mettant les signes < et >, il va chercher ton header dans le dossier include du compilateur et il ne le trouve pas et c'est pour ça qu'il t'affiche no such file

Discussions similaires

  1. Plein de questions pour un amateur
    Par forstera dans le forum iReport
    Réponses: 1
    Dernier message: 23/12/2009, 11h53
  2. Question d'amateur Windows <=> Linux
    Par subzero82 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 01/11/2005, 21h28
  3. Question de faisabilité
    Par lisarasu dans le forum CORBA
    Réponses: 3
    Dernier message: 14/05/2002, 11h26
  4. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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