Dans Qt, pour un élément de menu contextuel, comment masquer l’espace de l’icône
-
03-07-2019 - |
Question
J'ajoute un menu contextuel utilisant QAction
pour un widget.
Maintenant, il y a un espace blanc à côté du texte de l'action. Je suppose que c’est l’espace où l’association QIcon
avec QAction
aurait dû être présente. Maintenant, comment puis-je cacher cet espace. J'ai essayé de faire:
action->setIcon(QIcon());
mais ne semble toujours pas fonctionner.
Faites-moi savoir si vous avez le moyen de supprimer cet espace avant le texte.
La solution
Je ne sais pas s'il existe un moyen spécifique à l'action ou au menu, mais vous pouvez probablement le supprimer en utilisant un style.
Autres conseils
Vous ne dites pas quelle plate-forme. Mais sur Mac, vous pouvez désactiver complètement les éléments de menu avec:
qt_mac_set_menubar_icons( false );
Vous n'avez pas mentionné la version de Qt que vous utilisez mais QAction de la version 4.4.3 vous permet de masquer l'icône:
http://doc.trolltech.com/4.4/qaction.html#iconVisibleInMenu- prop
Vous pouvez également essayer d'utiliser le constructeur QAction :: QAction (const QString & text; QObject * parent)
:
http://doc.trolltech.com/4.4/qaction.html#QAction- 2 (4.4.3)
http://doc.trolltech.com/4.0/qaction.html#QAction- 2 (4.0)
http://doc.trolltech.com/3.3/qaction.html#QAction- 2 (3.3)