je suis entrain de créer un progressBar qui change ses min et max, la seul methode que j'ai c'est d'utiliser un stylesheet et d'utiliser un qgradient qui est une méthode de bricolage de plus elle marche pas bien je me demande si quelqu'un à une idée ou à déja fait ce genre d'utilisation... on definit le range, le min et le max.
Pour une QProgressBar, ce dessin ne veut rien dire. quelle est la différence entre range min et value min ? et entre range max et value max ?
la valeur est forcément supérieure à range min, alors pourquoi la barre n'est elle pas remplie à gauche ?
Qu'est-ce que tu essaie de représenter avec ça ?
le range c'est le début et la fin de la barre (pas de valeur) c-a-d le début et la fin de la partie noir, la valeur min et max et le debut et la fin de la partie blanche, c'est elle qui bouge, dans la class qprogressbar en faisant un setvalue (le graph partie blanche) bouge de 0 a la valeur qu'on veut.
moi ce que je veux faire c'est aussi faire bouger la valeur min (comme un scrollbar mais ca serai plutôt un progressbar) j'espere que j'ai été clair d'ou j'ai utilisé le qgradiantline qui me permet de definir 3 couleur noir blanche noir...
le range c'est le début et la fin de la barre (pas de valeur) c-a-d le début et la fin de la partie noir, la valeur min et max et le debut et la fin de la partie blanche, c'est elle qui bouge, dans la class qprogressbar en faisant un setvalue (le graph partie blanche) bouge de 0 a la valeur qu'on veut.
Soit, mais une progressbar, c'est une barre qui doit, justement, représenter la progression de quelque chose (mettons: d'un processus) au fil du temps.
Ne crois tu pas qu'il soit donc "normal" que la progressbar nous présente la progression du processus "depuis qu'il a été lancé" et ... jusqu'à ce qu'il soit terminé.
Si tu veux représenter une "certaine proportion" d'un ensemble fini, n'aurais tu pas plutôt intérêt à utiliser une scrollbar, dont le rôle est, justement, de représenter la partie visible d'un tout impossible à afficher d'une seule fois ?
omar123 a écrit:
moi ce que je veux faire c'est aussi faire bouger la valeur min (comme un scrollbar mais ca serai plutôt un progressbar) j'espere que j'ai été clair
Très clair, merci... Mais, du coup, la question est "pourquoi" voudrais tu faire une chose pareil. Parce que, pour être tout à fait honnête, il n'y a ni raison ni besoin associé à cette envie.
Et, pire encore, cette envie te mène à nier le but même d'une progressbar.
Je ne dis pas que c'est impossible, mais je dis par contre que cela n'a -- à notre point de vue du moins-- tout simplement aucun sens! Et, tant que tu ne nous auras pas expliqué ce que tu compte obtenir et le sens que cela pourrait avoir pour toi, il n'y a aucune raison pour que nous t'incitions à perdre du temps et à te casser la tête pour rien.
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
le range c'est le début et la fin de la barre (pas de valeur) c-a-d le début et la fin de la partie noir, la valeur min et max et le debut et la fin de la partie blanche, c'est elle qui bouge, dans la class qprogressbar en faisant un setvalue (le graph partie blanche) bouge de 0 a la valeur qu'on veut.
Soit, mais une progressbar, c'est une barre qui doit, justement, représenter la progression de quelque chose (mettons: d'un processus) au fil du temps.
Ne crois tu pas qu'il soit donc "normal" que la progressbar nous présente la progression du processus "depuis qu'il a été lancé" et ... jusqu'à ce qu'il soit terminé.
Si tu veux représenter une "certaine proportion" d'un ensemble fini, n'aurais tu pas plutôt intérêt à utiliser une scrollbar, dont le rôle est, justement, de représenter la partie visible d'un tout impossible à afficher d'une seule fois ?
omar123 a écrit:
moi ce que je veux faire c'est aussi faire bouger la valeur min (comme un scrollbar mais ca serai plutôt un progressbar) j'espere que j'ai été clair
Très clair, merci... Mais, du coup, la question est "pourquoi" voudrais tu faire une chose pareil. Parce que, pour être tout à fait honnête, il n'y a ni raison ni besoin associé à cette envie.
Et, pire encore, cette envie te mène à nier le but même d'une progressbar.
Je ne dis pas que c'est impossible, mais je dis par contre que cela n'a -- à notre point de vue du moins-- tout simplement aucun sens! Et, tant que tu ne nous auras pas expliqué ce que tu compte obtenir et le sens que cela pourrait avoir pour toi, il n'y a aucune raison pour que nous t'incitions à perdre du temps et à te casser la tête pour rien.
en faite j'ai crée une class qui hérite d'un QprogressBar et elle a certaine caractéristique et au lieu de créer une autre classe qui heritera d'un scrollbar ce qui est un peut chiant dans mon cas (pour des raisons de mémoire dans l'embarqué) je me suis dis que le progressbar pourra faire l'affaire vue qu'un progressbar et un scroolbar auront à peu prêt les mêmes caractéristique ca me permettra d’éviter aussi des lignes de codes pour rien ..
Je ne te demande pas CE que tu veux, mais POURQUOI tu le veux!!!
On dit souvent que, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème. Mais, pour qu'il y ait solution, il faut qu'il y ait une justification, autrement, ce n'est pas une solution, c'est une hypothèse!
Ce que tu veux, merci, mais je l'ai compris dés ta première explication.
Ce que je veux savoir, c'est qu'elle est la raison qui justifie que tu aies besoin d'une progressbar "tronquée".
omar123 a écrit:
en faite j'ai crée une class qui hérite d'un QprogressBar et elle a certaine caractéristique et au lieu de créer une autre classe qui heritera d'un scrollbar ce qui est un peut chiant dans mon cas (pour des raisons de mémoire dans l'embarqué) je me suis dis que le progressbar
Comme mon vénéré père dirait: il faut laisser croire les béguines, elles sont spécialistes et payées pour!
Si tu as des problème de mémoire avec une scrollbar parce que tu es en embarqué, tu ne dois pas t'attendre à avoir moins de problèmes avec une progressbar
omar123 a écrit:
vue qu'un progressbar et un scroolbar auront à peu prêt les mêmes caractéristique
Elles ont peut-être des caractéristiques très semblables, mais des usages totalement différents! Or, l'héritage est la relation la plus forte que tu puisse trouver, dans le sens où elle permet la substituabilité au temes du LSP (Liskov Substitution Principle ou principe de substitution de Liskov). Pour que tu puisse envisager l'héritage, il faut que tu puisse espérer transmettre une instance de ta classe dérivée à n'importe quelle fontion s'attendant à recevoir une instance de la classe de base comme paramètre.
Si tu as besoin d'un progressbar, tu ne peux pas envisager de transmettre ... une scrollbar. Et l'inverse est tout aussi vrai. Alors, met toi un peu à ma place:
je ne sais pas pourquoi tu veux obtenir ce genre de choses
tu pars sur l'assertion tout à fait idiote (et non prouvée à ce jour) qu'une progressbar demande moins de mémoire pour fonctonner qu'une scrollbar
tu veux faire passer un chien pour un mouton
Et tu es incapable de me dire pourquoi tu voudrais le faire (ou, du moins, tu n'as pas encore répondu à cette question)
En sachant tous les problèmes que cela pourrait occasionner, crois tu vraiment que ce serait un bon service à te rendre que de te laisser persister dans cette aberration?
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
je ne sais pas comment je pourrai vous l'expliquer mais disant que j'ai besoin de changer la valeur min et max sans passer par un stylesheet(le QScrollBar me permettra de faire ca m'ai je dois passer constamment par un stylesheet) vous serez d'accord forcement si je vous dis que le stylesheet derrière n'est pas terrible quand on est dans l'embarqué (temps d’exécution prend un peu beaucoup de CPU surtout si on a besoin de passer constamment par un stylesheet) d'ou ma demande d'utiliser un Qprogressbar . après comme j'avais mentionner avant et vue que dans mon projet j'ai des dizaines de classes ca serai un peu dommage d'ajouter une autre si je peux utiliser une classe qui est déjà existante et d'en rajouter quelque méthode me permettant de travailler avec la même classe pour deux utilisation différente. après ma question concernait aussi la faisabilité de ce que je demande si c'est pas faisable alors je ferai autrement .
je ne sais pas comment je pourrai vous l'expliquer
Donc, si je comprend bien, tu veux faire quelque chose d'inutile?
Généralement, on se lance dans le développement d'une nouvelle fonctionnalité pour répondre à un besoin: les notions de scrollbar et de progressbar ont été développées parce qu'elles répondaient à des besoins:
représenter la partie visible d'un tout plus étendu pour ce qui concerne la scrollbar et
représenter l'évolution d'un processus depuis qu'il a été lancé et jusqu'à ce qu'il s'achève pour une progressbar
Je n'ai rien contre le fait que tu veuilles développer une nouvelle fonctionnalité, mais je te demande de m'expliquer le besoin que tu veux couvrir avec elle
Si tu es incapable de décrire le besoin en question, comment pourrais je croire autre chose que c'est simplement parce que ... ce besoin n'existe pas, et donc que tu essaye de résoudre un problème qui... n'existe pas.
Mais s'il n'y a pas de problème, pourquoi devrais tu t'emmerder à chercher une solution?
omar123 a écrit:
j'ai besoin de changer la valeur min et max
Je l'ai bien compris! Je te demande POURQUOI tu souhaites changer ces valeurs min et max. Si déjà tu expliquait ce que tu veux représenter au travers de cette progressbar modifiée, nous serions peut-être plus enclins à valider ton idée, mais, dans l'état actuel des choses, il n'y a absolument aucune raison de vouloir travailler de la sorte!
omar123 a écrit:
vous serez d'accord forcement si je vous dis que le stylesheet derrière n'est pas terrible quand on est dans l'embarqué (temps d’exécution prend un peu beaucoup de CPU surtout si on a besoin de passer constamment par un stylesheet)
Oui, je suis d'accord! Et tu crois peut-être qu'une solution personnelle qui reprend, de toutes manières, une bonne partie des possibilités d'une classe de base sera plus efficace??? Cela ne va malheureusement jamais dans ce sens là!
omar123 a écrit:
après comme j'avais mentionner avant et vue que dans mon projet j'ai des dizaines de classes
Pfff... attend de devoir te frotter à un projet qui en contient plusieurs milliers
omar123 a écrit:
si je peux utiliser une classe qui est déjà existante et d'en rajouter quelque méthode me permettant de travailler avec la même classe pour deux utilisation différente.
Ne fais JAMAIS ca! C'est le meilleur moyen pour te casser la gueule!
Chaque variable, chaque fonction, chaque type de donnée (ou chaque classe) ne doit s'occuper que d'une et une seule chose pour pouvoir s'en occuper correctement!
C'est ce que l'on appelle le principe de la responsabilité unique (Single Responsability Principle en anglais, on utilise souvent l'acronyme SRP).
Si tu as besoins de trois notions différentes, il faut que tu crées trois classes pour les représenter, de manière à n'avoir aucun doute quant à l'usage que tu t'attend à faire de ces notions!
J'ai maintenant compris le pourquoi de ta demande. Le fait est que cette demande provoquera beaucoup plus de problèmes qu'elle n'apportera de solutions. Je ne peux donc décemment pas la cautionner, et je ne veux donc pas te permettre d'aller plus loin dans ta logique qui est TOTALEMENT FAUSSE.
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
Merci pour cette réponse très détaillé de ta part Bon je pense que je vais abandonner l'idée d'utilisé un QprogressBar et de me contenté d'un QscrollBar en changeant les valeurs de mon scroller avec un stylesheet Merci à vous :).
par contre j'ai un soucis c'est que le scroller n'est jamais à 0 je ne comprend pas pourquoi (je vais mettre un autre sujet pour ca)
- Edité par omar123 22 juillet 2019 à 10:28:26
Qprogress Bar changement du min et du Max
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Eug