В Qt для элемента контекстного меню, как скрыть пробел значка
-
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)