Comment peut-on cacher les barres de défilement dans un QScrollArea
? Actuellement j'utilise la méthode hide()
sur les barres de défilement retournées par QScrollArea::horizontalScrollBar()
et QScrollArea::verticalScrollBar()
mais l'espace réservé pour les barres de défilement reste toujours. Évidemment, cela semble très laid et n'est pas efficace dans l'espace. Si je supprime complètement les barres de défilement, je ne peux plus facilement faire défiler vers un point spécifique en utilisant QScrollBar::setValue()
.Comment masquer la barre de défilement dans QScrollArea?
6
A
Répondre
14
Utilisez ce code:
QAbstractScrollArea::setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff)
QAbstractScrollArea::setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff)
1
Ce morceau de code peut faire le travail:
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
verticalScrollBar()->hide();
verticalScrollBar()->resize(0, 0);
1
De Qt documents pour scrollContentsBy()
:
appel de cette fonction afin de faire défiler par programmation est une erreur, utilisez plutôt les barres de défilement (par exemple en appelant directement QScrollBar :: setValue()).
14
Vous pouvez le masquer en utilisant une feuille de style. Utilisez height:0px;
pour masquer la barre de défilement horizontale et width=0px;
pour masquer la barre de défilement verticale. Comme ça:
horizontalScrollBar()->setStyleSheet("QScrollBar {height:0px;}");
verticalScrollBar()->setStyleSheet("QScrollBar {width:0px;}");
Et le tour est joué .Pas barres de défilement, et vous pouvez toujours les manipuler en utilisant setValue()
!.
Et oui, je pensais à 3 ans de réponse. Donc, je peux enfin m'acheter des collations.
Questions connexes
- 1. Android Webapp masquer la barre de défilement?
- 2. Comment masquer la barre de défilement verticale dans wxTextCtrl?
- 3. Comment masquer la barre de défilement à l'aide de JavaScript
- 4. Comment définir la taille initiale d'un QScrollArea?
- 5. comment cacher dans la barre de défilement horizontale balise div
- 6. Masquer la barre de notification
- 7. Masquer la barre d'adresse
- 8. Masquer html barre de défilement horizontale mais pas verticale
- 9. masquer la barre d'état
- 10. Supprimer la barre de défilement verticale, garder la barre de défilement horizontale dans iframe dans Chrome
- 11. TinyMCE Masquer la barre
- 12. Masquer la barre d'état
- 13. Masquer la barre d'onglets dans une application de barre d'onglets
- 14. barre de défilement dans mfc
- 15. Masquer les barres de défilement du navigateur
- 16. iPhone - Est-il possible de masquer la barre de défilement native dans UIWebView?
- 17. Masquer la barre de défilement verticale de plusieurs lignes SELECT dans Firefox et Chrome?
- 18. Comment masquer la barre de défilement verticale parent après le chargement d'un iframe?
- 19. Qt: Widget personnalisé dans QScrollArea
- 20. désactiver la barre de défilement dans IE
- 21. Barre de défilement dans la liste déroulante
- 22. TreeView dans la barre de défilement PreviewMouseMove
- 23. Masquer la barre d'URL dans Android Webkit
- 24. Masquer la barre supérieure dans UITabBarController
- 25. Masquer la barre de défilement horizontale dans IE 7 et ci-dessous
- 26. Désactiver Barre de défilement sans javascript
- 27. MPMoviePlayerViewController Masquer la barre d'état
- 28. Comment éviter l'entartrage dans la barre de défilement flex
- 29. comment implémenter la barre de défilement alphabétique dans android
- 30. Comment afficher la barre de défilement horizontale dans ExtJS ComboBox?
Si je le fais de cette manière je ne peux plus défiler vers un point spécifique en utilisant QScrollBar :: setValue() (parce que les barres de défilement n'existent pas) – pafcu
Si vous avez besoin d'une barre de défilement si nécessaire, utilisez la politique: ScrollBarAsNeeded. Si vous voulez faire défiler le contenu programmatique, utilisez QAbstractScrollArea :: scrollContentsBy (int dx, int dy) –
[Apparemment] (http://doc.qt.io/qt-5/qabstractscrollarea.html#scrollContentsBy) vous devriez appeler les barres de défilement 'setValue()' au lieu de 'scrollContentsBy()'. – Schollii