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 :

Conseil pour faire un programme Qt & C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingenieur aut. & ctrl
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingenieur aut. & ctrl

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 20
    Points
    20
    Par défaut Conseil pour faire un programme Qt & C++
    Bonjour,

    je suis un inculte en programmation (quelques conaissances en orienté objet java) et je veux faire un petit programme personelle. J'ai observé que qt était une solution intéressante car le développement des ui se fesait rapidement et qu'il est portable.Cependant, pour l'activation de tout ca, je bloque. J'ai donc besoin de vos conseils les PRO!

    Je suis pour l'instant, après plusieurs heures de lecture, en mesure de démarer une fenêtre et d'activer une autre fenêtre à l'aide d'un bouton et de compiler le tout sous linux.

    J'utilise qtdesigner pour développer les ui et un éditeur de texte pour coder parce que je n'ai pas trouver d'EDI qui marche (monkey truc et qtcreator bouffe en permanence 100% de mon cpu)

    Il me faut pour continuer ceci :

    -Une table qui permet d'être afficher dans un QtTreeWidget nommé TAbProjet
    -Pouvoir sauvegarder/charger cette table lorsque je ferme la fenêtre.
    -Je veux filtrer cette table avec un QeditText(nommé FiltPro).

    Question :
    Qu'elle format de table devrai-je utiliser ? J'ai vue qu'il y avait du SQL mais ca serait peut être un peu compliquer pour rien. Y a t'il plus simple?

    Pour le filtre, est-ce que je peux passer par les signaux dans qtdesigner ou je dois coder ?


    Voici mes deux classes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #include <QApplication>
    #include <QtGui>
    #include "Wstart.h"
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
        Wstart FStart; 
        FStart.show();
        return app.exec();
    }
     
    #include "Witem.h"
    #include "Wadditem.h"
     
    Witem::Witem(QWidget *parent) : QWidget(parent)
    {
        ui.setupUi(this); // A faire en premier
     
        /*
        Personnalisez vos widgets ici si nécessaire
        Réalisez des connexions supplémentaires entre signaux et slots
        */
     
    }
    void Witem::ouvreAddItem()
    {
    	    Wadditem *Fadditem = new Wadditem();
        	    Fadditem->exec();
    }
    Merci merci merci à l'avance pour votre aide.

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 894
    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 894
    Points : 219 536
    Points
    219 536
    Billets dans le blog
    124
    Par défaut
    Bonjour,

    Je vous invite à regarder ceci -> http://qt.developpez.com/doc/4.6/ite...rtfiltermodel/
    Ils mettent en place un filtr là dedans. Donc cela peut vous aider

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingenieur aut. & ctrl
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingenieur aut. & ctrl

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 20
    Points
    20
    Par défaut
    Je viens de faire rouler ce petit prog et c'est ce que je veux pour le filtre.

    Seul hic, d'après ce que je peux voir, il crée la table et les items dans le code. De plus, on ne peut modifier la table avec l'ui. Est-ce que c'est ce genre de table que je doit avoir? Est-ce que je peux sauver ce genre de table ? Est-ce que c'est une table ?

    Merci pour le lien, je vais lire et travailler la dessus.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par tremblou Voir le message
    Je viens de faire rouler ce petit prog et c'est ce que je veux pour le filtre.

    Seul hic, d'après ce que je peux voir, il crée la table et les items dans le code. De plus, on ne peut modifier la table avec l'ui. Est-ce que c'est ce genre de table que je doit avoir? Est-ce que je peux sauver ce genre de table ? Est-ce que c'est une table ?

    Merci pour le lien, je vais lire et travailler la dessus.
    Intéresse toi au classe du MVD(Modèle/Vue/Délégué) de QT. Il propose un filtrage facile des données.

    À la base ton modèle n'est que visible, mais il est possible de rendre les éléments éditables(Et même de spécifié son type d'édition ex: couleur).


    Si tu veux du contrôle je te suggère d'hériter de QAbstractTableModel et suivrent la section Subclassing:
    Detailed Description

    The QAbstractTableModel class provides an abstract model that can be subclassed to create table models.

    QAbstractTableModel provides a standard interface for models that represent their data as a two-dimensional array of items. It is not used directly, but must be subclassed.

    Since the model provides a more specialized interface than QAbstractItemModel, it is not suitable for use with tree views, although it can be used to provide data to a QListView. If you need to represent a simple list of items, and only need a model to contain a single column of data, subclassing the QAbstractListModel may be more appropriate.

    The rowCount() and columnCount() functions return the dimensions of the table. To retrieve a model index corresponding to an item in the model, use index() and provide only the row and column numbers.

    Subclassing

    When subclassing QAbstractTableModel, you must implement rowCount(), columnCount(), and data(). Default implementations of the index() and parent() functions are provided by QAbstractTableModel. Well behaved models will also implement headerData().

    Editable models need to implement setData(), and implement flags() to return a value containing Qt::ItemIsEditable.

    Models that provide interfaces to resizable data structures can provide implementations of insertRows(), removeRows(), insertColumns(), and removeColumns(). When implementing these functions, it is important to call the appropriate functions so that all connected views are aware of any changes:

    An insertRows() implementation must call beginInsertRows() before inserting new rows into the data structure, and it must call endInsertRows() immediately afterwards.
    An insertColumns() implementation must call beginInsertColumns() before inserting new columns into the data structure, and it must call endInsertColumns() immediately afterwards.
    A removeRows() implementation must call beginRemoveRows() before the rows are removed from the data structure, and it must call endRemoveRows() immediately afterwards.
    A removeColumns() implementation must call beginRemoveColumns() before the columns are removed from the data structure, and it must call endRemoveColumns() immediately afterwards.
    Note: Some general guidelines for subclassing models are available in the Model Subclassing Reference.
    Tu peux peut-être t'en sortir avec un QStandardItemModel(Beaucoup moins de boulot...)

    Bien sur tu peux sauvergarde ce genre de table, soit de façon barbare dans un fichier texte avec un délimiteur ou avec QDataStream en format binaire. Tu sérialise tout simplement ton modèle(Encore là, sans expérience ce n'est pas nécéssairement facile...).

    ---

    J'oubliais, regarde la liste des Item Views de QT, peut-être quelque chose se rapprochant à ton projet:

    http://qt.developpez.com/doc/latest/...itemviews.html

    Le programme AdressBook* devrait te placer sur le droit chemin, il montre la sauvegarde. Bref, il suffit de consulter ton assistant!

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

Discussions similaires

  1. Problème pour faire un programme
    Par Kypper_667 dans le forum C++
    Réponses: 4
    Dernier message: 26/06/2006, 18h53
  2. Réponses: 16
    Dernier message: 15/11/2005, 20h07
  3. Conseils pour démarrer en programmation ?
    Par Osirex dans le forum Débuter
    Réponses: 5
    Dernier message: 06/10/2005, 18h28
  4. Réponses: 7
    Dernier message: 16/04/2005, 08h55
  5. conseils pour faire un help comme celui de windows
    Par peppena dans le forum Windows
    Réponses: 6
    Dernier message: 29/03/2004, 16h06

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