Dans Qt, pour un élément de menu contextuel, comment masquer l’espace de l’icône

StackOverflow https://stackoverflow.com/questions/208411

  •  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.

Était-ce utile?

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)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top