QDockWidget で閉じるボタンとフロート ボタンのツール ヒント テキストを設定する方法はありますか?

ixSciが述べたように、使用setTitleBarWidget()はこの問題を解決する潜在的な方法です。QSSとは言っても、理想的には(Qtスタイルシート)を使用して、はるかに単純なソリューションを探していました。そのため、のソースコードを調べた後QDockWidget、自分の要件により適した別の方法を見つけました。
floatこれらとcloseボタンが作成される場所を見つけたかったのです。これは、のQDockWidgetPrivate::init()メソッド内にありQDockWidget.cppます。
例として、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」です。
Closeしたがって、のツールチップとFloatボタンを設定するために必要なのQDockWidgetは、アプリケーションスタイルシートに次の2行のスタイルを追加することだけです。
QAbstractButton#qt_dockwidget_closebutton{qproperty-toolTip: "Close";}
QAbstractButton#qt_dockwidget_floatbutton{qproperty-toolTip: "Restore";}
任意のタイトル ウィジェットを実装し、 で設定できますsetTitleBarWidget()。そのウィジェットでは、必要なツールチップ付きのボタンを追加できます。