2008-10-16 78 views
1

我正在使用QAction为小部件添加上下文菜单。 现在,在动作文本旁边有一些空白区域。我认为这是QIcon协会QAction应该在那里的空间。现在我该如何隐藏这个空间。我试着做:在Qt中,对于上下文菜单项,如何隐藏图标的空间

action->setIcon(QIcon()); 

但仍然似乎没有工作。

请让我知道您是否有办法在文本前删除该空格。

回答

0

我不知道是否有特定的行动或菜单的方式,但你可以删除它使用一种风格。

+0

确实,我只是通过源代码查看,这是执行此操作的唯一简单方法。虽然重新实现样式并不好玩。 QWindowsStyle,QWindowsXpStyle,QMacStyle,QGtkStyle,QPlastiqueStyle等。 – mxcl 2008-10-21 13:06:56

-1

你没有提到的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 0.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)

+0

这不会删除Windows样式菜单旁边的空格。 – mxcl 2008-10-21 13:07:39

1

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

qt_mac_set_menubar_icons(false);