我用带选择框的菜单项来打开、关闭一个DockWidget,请问我怎么才能做到像Qt Designer下Tools菜单下面那些菜单项的效果:
在界面中关闭DockWidget同时,去掉菜单项中的相应的选择勾?
方法:
1、先在MyWidget中定义一个信号,和一个函数
- signals:
- void widgetShown(bool bflag);
- protected:
- void hideEvent( QHideEvent * event );
2、hideEvent( QHideEvent * event )的实现
- void MyWidget::hideEvent( QHideEvent * event )
- {
- emit widgetShown( FALSE );
- }
3、在mainwindow.cpp中,connect一下
- connect( mywidget, SIGNAL( widgetShown(bool) ),
- mywidgetAct, SLOT( setChecked(bool) ) );
说明:
MyWidget是加到QDockWidget类中去的一个Wdiget类,
mywidget是MyWidget类的一个对象,
mywidgetAct是带选择框菜单项的QAction对象
[ 此贴被weihua在2006-05-14 11:43重新编辑 ]