2008-10-16 4 views
1

위젯에 QAction을 사용하여 컨텍스트 메뉴를 추가하고 있습니다. 이제 작업 텍스트 옆에 공백이 있습니다. 이 공간이 QAction과 연결된 QIcon 공간에 있어야한다고 가정합니다. 이제이 공간을 어떻게 숨길 수 있습니까? 나는 다음을 시도했다 :Qt에서 컨텍스트 메뉴 항목의 아이콘 공간을 숨기는 방법

action->setIcon(QIcon()); 

그러나 여전히 작동하지 않는 것.

텍스트 앞에 공백을 제거하는 방법이 있으면 알려 주시기 바랍니다.

답변

0

동작이나 메뉴와 관련된 방법이 있는지 모르겠지만 스타일을 사용하여 제거 할 수 있습니다.

+0

실제로 소스를 살펴 보았습니다.이 방법 만 사용하면됩니다. 스타일을 재 구현하는 것이 재미있는 것은 아니지만. QWindowsStyle, QWindowsXpStyle, QMacStyle, QGtkStyle, QPlastiqueStyle 등 – mxcl

-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

1

당신은 어떤 플랫폼 말을하지 않습니다. 그러나 Mac에서는 메뉴 항목을 모두 해제 할 수 있습니다.

qt_mac_set_menubar_icons(false); 
관련 문제