1
A
답변
2
ixSci가 언급 한대로 setTitleBarWidget()
을 사용하면이 문제를 해결할 수 있습니다. 나는 훨씬 간단한 솔루션을 찾고 있는데 이상적으로는 QSS
(Qt 스타일 시트)을 사용하고 있다고 말했 다. 그래서 QDockWidget
의 소스 코드를 파고 들자 마자 내 요구 사항에 더 잘 맞는 대안을 찾았습니다.
나는이 float
과 close
버튼이 만들어진 곳을 찾고 싶었습니다. 그것은 QDockWidget.cpp
에 QDockWidgetPrivate::init()
방법 안에 있습니다.
는 예로서, float
버튼은 다음과 같이 작성됩니다
QAbstractButton *button = new QDockWidgetTitleButton(q);
button->setObjectName(QLatin1String("qt_dockwidget_floatbutton"));
QObject::connect(button, SIGNAL(clicked()), q, SLOT(_q_toggleTopLevel()));
layout->setWidgetForRole(QDockWidgetLayout::FloatButton, button);
지금 필요한 건 Qt는 스타일 시트의 유연성을 사용하는 것입니다, 나는이 경우, 개체 이름을 필요로하는 위해 그것은 "qt_dockwidget_floatbutton
는"
그래서 당신이 할 수있는 QDockWidget
의 Close
및 Float
버튼에 툴팁을 설정해야 모두가 응용 프로그램 스타일 시트 스타일의 두 줄에 다음을 추가하는 것입니다
QAbstractButton#qt_dockwidget_closebutton{qproperty-toolTip: "Close";}
QAbstractButton#qt_dockwidget_floatbutton{qproperty-toolTip: "Restore";}
1
당신은 당신이 원하는 제목 위젯 구현하고 setTitleBarWidget()
로 설정할 수 있습니다. 위젯에서 필요한 툴팁이있는 버튼을 추가 할 수 있습니다.