4

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

ここに画像の説明を入力

4

2 に答える 2

5

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";}
于 2013-02-27T08:17:31.960 に答える
1

任意のタイトル ウィジェットを実装し、 で設定できますsetTitleBarWidget()。そのウィジェットでは、必要なツールチップ付きのボタンを追加できます。

于 2013-02-27T06:28:49.207 に答える