我有一个停靠小部件,现在我想添加一个“窗口”菜单来显示/隐藏小部件。很容易做到
showPropWinAct = new QAction(tr("&Properties"), this);
showPropWinAct->setStatusTip(tr("Show properties window"));
showPropWinAct->setCheckable(true);
connect(showPropWinAct, SIGNAL(toggled(bool)), propertiesWindow, SLOT(setVisible(bool)));问题是,当用户单击小部件上的x时,showPropWinAct不会被切换。如何在不触发第二个setVisible信号(一个来自close事件,另一个来自上面的connect )的情况下,侦听此事件并正确切换操作?
发布于 2009-08-17 20:25:08
不需要创建新的操作,只需从QDockWidget本身获取操作并使用它。它将为您处理状态:
http://qt-project.org/doc/qt-4.8/qdockwidget.html#toggleViewAction
QAction * QDockWidget::toggleViewAction () const
“返回可用于显示或关闭此停靠小工具的可检查操作。
操作的文本被设置为dock小部件的窗口标题。“
https://stackoverflow.com/questions/1290194
复制相似问题