有没有办法为 QDockWidget 中的关闭按钮和浮动按钮设置工具提示文本?

正如 ixSci 提到的,使用setTitleBarWidget()是解决这个问题的一种潜在方法。话虽如此,我正在寻找一个更简单的解决方案,最好使用QSS(Qt Style Sheets)。因此,在深入研究了源代码后,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因此,为 a 设置工具提示和Float按钮所需要做的QDockWidget就是在应用程序样式表中添加以下两行样式
QAbstractButton#qt_dockwidget_closebutton{qproperty-toolTip: "Close";}
QAbstractButton#qt_dockwidget_floatbutton{qproperty-toolTip: "Restore";}
您可以实现任何您想要的标题小部件并将其设置为setTitleBarWidget(). 在该小部件中,您可以添加任何带有您需要的工具提示的按钮。