Je veux définir une image sur QPushButton
, et la taille de QPushButton
devrait dépendre de la taille de l'image. Je suis capable de le faire lors de l'utilisation QLabel
, mais pas avec QPushButton
. Donc, si quelqu'un a une solution, alors s'il vous plaît aidez-moi.Comment définir une image sur QPushButton?
Répondre
Je ne pense pas que vous pouvez définir des images de taille arbitraire sur l'une des classes de boutons existants. Si vous voulez une image simple de se comporter comme un bouton, vous pouvez écrire votre propre QAbstractButton-sous-classe, quelque chose comme:
class ImageButton : public QAbstractButton {
Q_OBJECT
public:
...
void setPixmap(const QPixmap& pm) { m_pixmap = pm; update(); }
QSize sizeHint() const { return m_pixmap.size(); }
protected:
void paintEvent(QPaintEvent* e) {
QPainter p(this);
p.drawPixmap(0, 0, m_pixmap);
}
};
Merci d'avoir répondu. Voulez-vous m'aider en montrant comment je peux implémenter ce code en utilisant QPushButton au lieu de QAbstractButton. Comme mes exigences sont d'utiliser QPushButton. alors, plz aidez-moi. –
Comme je l'ai dit, je ne pense pas qu'il y ait un bon moyen. Si c'est le cas, QStyle et les feuilles de style peuvent vous aider. Jetez un oeil là-bas. –
merci, pour répondre. –
Ce que vous pouvez faire est d'utiliser un pixmap comme une icône, puis mettre cette icône sur le bouton . Pour vous assurer que la taille du bouton sera correcte, vous devez reisze l'icône en fonction de la taille de pixmap.
Quelque chose comme cela devrait fonctionner:
QPixmap pixmap("image_path");
QIcon ButtonIcon(pixmap);
button->setIcon(ButtonIcon);
button->setIconSize(pixmap.rect().size());
Je sais que c'est vieux, mais j'ai fait cela, et l'icône du bouton est toujours celle par défaut. Je ne reçois aucune erreur et tous mes fichiers de ressources semblent être chargés et mes chemins sont bons. Pourquoi cela ne fonctionne-t-il pas pour moi? – mrg95
QPushbutton *button = new QPushbutton;
button->setIcon(QIcon("<imagePath>"));
button->setIconSize(QSize(65,65));
Vous peut également définir la taille du bouton.
QPixmap pixmap("image_path");
QIcon ButtonIcon(pixmap);
button->setIcon(ButtonIcon);
button->setIconSize(pixmap.rect().size());
button->setFixedSize(pixmap.rect().size());
C'est vieux, mais il est toujours utile, Entièrement testé avec QT5.3.
Soyez carreful, par exemple en ce qui concerne le chemin ressources:
Dans mon cas, je crée un répertoire nommé ressources "Ressources" dans le projet de répertoire source.
Le dossier "Ressources" contiennent des images et icons.Then j'ai ajouté un préfixe "Images" dans Qt Alors le chemin pixmap deviennent:
QPixmap pixmap (":/images/Ressources/icone_pdf.png") ;
JF
Vous pouvez également utiliser:
button.setStyleSheet("qproperty-icon: url(:/path/to/images.png);");
Remarque: Ceci est un peu hacky. Vous ne devriez l'utiliser qu'en dernier recours. Les icônes doivent être définies à partir du code C++
ou Qt Designer
.
Vous pouvez le faire dans QtDesigner. Il suffit de cliquer sur votre bouton puis aller à la propriété de l'icône, puis choisissez votre fichier image.
utiliser juste ce code
QPixmap pixmap ("path_to_icon");
QIcon iconRetour (pixmap);
Notez que:"path_to_icon" est le chemin de l'icône d'image dans le fichier .qrc de votre projet
Vous pouvez trouver comment ajouter .qrc fichier here
- 1. QPushButton Problèmes
- 2. Comment insérer QPushButton dans TableView?
- 3. Comment changer une icône QPushButton quand elle a le focus?
- 4. Comment définir une image locale dans pynotify?
- 5. QPushButton et raccourci
- 6. Comment puis-je définir une image sur le contrôle Image dans WPF?
- 7. Comment définir une image d'arrière-plan de la fenêtre Xul? Ou, comment ajouter une légende sur une image?
- 8. Image sur une image
- 9. Comment superposer une image sur une autre image?
- 10. comment définir une image d'arrière-plan pour l'étiquette
- 11. QPushButton FocusIn génère quel signal?
- 12. Comment définir une image pour le bouton retour de UINavigationController
- 13. Comment mettre une étiquette sur une image
- 14. Comment superposer une image sur une autre?
- 15. comment ajouter une étiquette sur une image?
- 16. comment supprimer une image sur une feuille
- 17. Comment définir une image d'indicateur sur une colonne avec plusieurs descripteurs de tri?
- 18. Comment définir une image comme arrière-plan dans ASP.NET?
- 19. Comment définir une image dans imageview dans ListView dans Android?
- 20. Comment définir une image pour un bouton inactif
- 21. comment puis-je définir une image dans la septième colonne?
- 22. Comment définir une image comme arrière-plan dans ASP.NET?
- 23. Comment définir les informations DPI dans une image?
- 24. BlackBerry - Comment définir une image comme arrière-plan pour ButtonField?
- 25. Python QPushButton setIcon: icône mettre sur le bouton
- 26. Comment fermer une image sur une touche d'échappement, appuyez sur?
- 27. Comment dessiner du texte sur une image?
- 28. Comment superposer JavaScript sur une image statique?
- 29. Comment créer une image dynamiquement sur AppEngine
- 30. Comment faire pivoter une image sur l'iPhone?
il y a deux façons à l'aide que vous pouvez définir l'image sur un bouton dans Qt, façon Programmatic de mettre en image http: // qt -articles.blogspot.com/2010/06/how-to-customize-button-in-qt.html à partir de la feuille de style comment l'image est définie, http://qt-articles.blogspot.com/2010/06/ comment-ajouter-stylesheet-pour-button-in-qt.html – Naruto
c'est génial ... ça marche bien .. merci beaucoup ... –
Vous êtes les bienvenus :) si vous sentez que la réponse est correcte, s'il vous plaît marquez-le comme bon, donc cela serait utile pour les autres qui obtiennent le même problème. – Naruto