QDockWidget で閉じるボタンとフロート ボタンのツール ヒント テキストを設定する方法はありますか?
1874 次
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 に答える