1

Est-il possible dans un QListWidget d'insérer des widget de n'importe quelle nature, par exemple faire une liste de progressbar avec des labels ?
Si oui comment procéder ?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

2

avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

Ah oui désolé de n'avoir pas précisé. Sans KDE.
Je vois en gros comment il faut faire mais impossible de faire par exemple un QListWidget qui ne contient que des QProgressBar.
Je procède comme ceci :
QListWidget* lstWidgets = new QListWidget();
QProgressBar* pBar = new QProgressBar(lstWidgets);
...
QListWidgetItem* item = new QListWidgetItem(),
item->setData(Qt:: DisplayRole, qVariantFromValue(pBar));
lstWidgets->addItem(item);
...


Bien entendu ça compile pas car QProgressBar n'est pas enregistré comme type QVariant. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

4

geogeo (./3) :
Ah oui désolé de n'avoir pas précisé. Sans KDE.

Bah, tu ne peux pas, à moins de recopier le code de KWidgetItemDelegate.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

Pourtant, il existe l'exemple StarDelegate ou un "Widget" perso est inséré.
J'ai déjà essayé l'idée de faire un dérivé de QProgressBar puis de l'enregistrer comme le fait l'exemple Stardelegate Q_DECLARE_METATYPE(StarRating)

Bref j'suis perplexe et pommé là. La doc officiel ne parle pas de ça en plus.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

6

QListWidget ne sert qu'à afficher du texte.

Tu dois utiliser une QListView et implémenter des QListItem, je pense.

7

Il doit utiliser une QListView, oui, mais avec des KWidgetItemDelegate.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

OK bon j'vais regarder ça de près avec une QListView. Merci smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

9

Où trouver les fichiers kwidgetitemdelegate_p.h, kwidgetitemdelegate_pool.cpp/h sans télécharger toutes les sources de KDE ?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

10

avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

11

Merci mais impossible de trouver le Framework Goya. [google]site:websvn.kde.org goya[/google] Celui-ci a été supprimé. J'ai beau chercher dans branches et trunk. (désolé d'être aussi lourd).
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

12

C'est dans kdelibs/kdeui maintenant.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

13

OK merci beaucoup. smile (t'as fait comment pour trouver rapidement ?)
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

14

J'étais au courant de Goya, et avec un peu de recherches sur Google, j'ai trouvé une page qui disait que c'est dans kdeui maintenant.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

Quelqu'un peut vite fait essayer l'exemple ? Sous Windows ça ne compile pas (faut bidouiller) et le résultat est pas top. (désolé j'ai pas linux actuellement)
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

16

17

avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

18

genre tu vas me faire installer/compiler kde pour win grin

19

Installer... Il y a des binaires.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

20

je dois avouer que j'ai vraiment la flemme, oui, dsl grin

21

D'ailleurs, geogeo pourrait très bien installer les binaires lui-même...
http://windows.kde.org/
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

22

magnifique \o/
Ohuh

c'est quoi l'url manuelle? grin
et surtout, pas moyen de RE télécharger la liste au cas ou le proxy est pourri grin

23

Non je veux dire tester l'exemple sous un KDE sous Linux. Moi j'ai testé sous Windows (sans KDE) et le résultat est pas top.
Je peux pas avoir Linux actuellement. (j'suis pas sur mon ordi...)
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

24

Il faut les kdelibs 4.1 pour tester, je n'ai que la version 4.0.5 actuellement (kdelibs4 sous F8 et la kdelibs de F9).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

25

26

J'ai F9 sur mon nouveau PC portable et ça marche correctement, je n'ai pas encore fait la mise à jour de cette machine, c'est tout.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

27

squalyl (./22) :
magnifique \o/
Ohuh
Enlarge://
Your://
<STRONG://<big>Penis://

trifus

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

28

Bon après plusieurs triturage du code de kwidgetitemdelegate j'ai abandonné cette voie. Ca marche mal et le code ressemble à une usine à gaz.

J'ai donc persévéré avec le composant QListWidget et j'ai enfin réussi à faire ce que je voulais sans rediriger les événements...
Voilà le résultat :
QListWidgetTest.png


Et le code source tout bête :
class MyProgressBar : public QProgressBar
{
  public:
    MyProgressBar(QWidget* parent = 0)
       : QProgressBar(parent)
    {
      this->startTimer(500);
    }

    void timerEvent(QTimerEvent *event) {
      setValue(value() + 1);
    }
};

int main(int argc, char **argv)
{
    QApplication a(argc, argv);

    QListWidget listView;
    listView.resize(400, 300);

    for (int i = 0; i < 5; i++)
    {
        QListWidgetItem *item = new QListWidgetItem("", &listView);
        item->setSizeHint(QSize(200,40));

        listView.addItem(item);

        QWidget* w = new QWidget();
        QLabel* l = new QLabel("Label", w);
        MyProgressBar* p = new MyProgressBar(w);
        p->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);

        QPushButton* b = new QPushButton("Cliquez-moi !", w);
        QObject::connect(b, SIGNAL(clicked()), qApp, SLOT(aboutQt()));

        QHBoxLayout* hlayout = new QHBoxLayout();
        hlayout->setMargin(10);
        hlayout->addWidget(l);
        hlayout->addWidget(p);
        hlayout->addWidget(b);

        w->setLayout(hlayout);

        listView.setItemWidget(item, w);
    }

    QPushButton* b = new QPushButton("Quitter");
    b->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
    QObject::connect(b, SIGNAL(clicked()), qApp, SLOT(quit()));

    QListWidgetItem *item = new QListWidgetItem("", &listView);
    item->setSizeHint(QSize(200,100));
    listView.addItem(item);
    listView.setItemWidget(item, b);


    listView.show();

    return a.exec();
}

avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

29