도킹 위젯이 있습니다. 이제 위젯을 표시하거나 숨기려면 "윈도우"메뉴를 추가하고 싶습니다. 사용자가 [X] 위젯에서 showPropWinAct
가 전환되지 않습니다 클릭 할 때QDockWidget를 표시/숨기기?
showPropWinAct = new QAction(tr("&Properties"), this);
showPropWinAct->setStatusTip(tr("Show properties window"));
showPropWinAct->setCheckable(true);
connect(showPropWinAct, SIGNAL(toggled(bool)), propertiesWindow, SLOT(setVisible(bool)));
문제는 함께 할 쉬운 정도. 어떻게이 이벤트를 듣고, 두 번째 setVisible 신호 (아마도 클로즈 이벤트에서 하나, 위의 connect
에서 하나)를 발사하지 않고 동작을 적절히 토글 할 수 있습니까?
하아! 훌륭한. 이것을하기위한 더 좋은 방법이 있어야한다는 것을 알았습니다. 정말 고맙습니다! :) – mpen
디자이너에서이 작업을 수행하는 방법은 무엇입니까? 현재는 그냥'void MainWindow :: on_dockWindow_visibilityChanged (bool visible) {ui-> actionDockWindowToggle-> setChecked (visible); }'그리고 나서'on_toggled()'액션의'setShown()'을 호출합니다. 잘 작동하고 두 줄의 코드 일뿐입니다.하지만 디자이너에서'toggleViewAction()'을 사용하면 멋질 것입니다. – Timmmm