【问题标题】:In Qt, for a context menu item, how to hide the space of the icon在Qt中,对于上下文菜单项,如何隐藏图标的空间
【发布时间】:2008-10-16 12:50:47
【问题描述】:

我正在为一个小部件添加一个使用QAction 的上下文菜单。 现在,动作文本旁边有一些空白。我认为这是QIconQAction 关联应该存在的空间。现在我如何隐藏这个空间。我试着做:

action->setIcon(QIcon());

但似乎仍然无法正常工作。

如果您有办法删除文本前的空格,请告诉我。

【问题讨论】:

    标签: qt qt-contextmenu


    【解决方案1】:

    你没有说哪个平台。但在 Mac 上,您可以完全关闭菜单项:

    qt_mac_set_menubar_icons( false );
    

    【讨论】:

      【解决方案2】:

      我不知道是否有特定于操作或菜单的方法,但您可能可以使用样式将其删除。

      【讨论】:

      • 确实,我只是查看了源代码,这是唯一简单的方法。尽管重新实现样式并不有趣。 QWindowsStyle、QWindowsXpStyle、QMacStyle、QGtkStyle、QPlastiqueStyle等
      【解决方案3】:

      您没有提及您使用的 Qt 版本,但 4.4.3 版本的 QAction 允许您隐藏图标:
      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)

      【讨论】:

      • 这不会删除带有 Windows 风格的菜单旁边的空间。
      猜你喜欢
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 2017-05-17
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多