В Qt для элемента контекстного меню, как скрыть пробел значка

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

  •  03-07-2019
  •  | 
  •  

Вопрос

Я добавляю контекстное меню, используя QAction для виджета.Теперь рядом с текстом действия есть некоторое пустое пространство.Я предполагаю, что это то пространство, где QIcon ассоциация с QAction должен был быть там.Теперь, как мне скрыть это пространство?Я пытался делать:

action->setIcon(QIcon());

но, похоже, это все равно не работает.

Пожалуйста, дайте мне знать, если у вас есть способ убрать этот пробел перед текстом.

Это было полезно?

Решение

Я не знаю, есть ли какой-то способ, специфичный для действия или меню, но вы, вероятно, могли бы удалить его, используя стиль.

Другие советы

Вы не говорите, на какой платформе.Но на Mac вы можете полностью отключить пункты меню с помощью:

qt_mac_set_menubar_icons( false );

Вы не упомянули версию Qt, которую используете, но QAction версии 4.4.3 позволяет вам скрыть значок:
http://doc.trolltech.com/4.4/qaction.html#iconVisibleInMenu-prop

Вы также можете попробовать использовать 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)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top