QDockWidget关闭按钮和浮动按钮的工具提示?
答
正如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";}
答
您可以实现任何你想要的标题窗口小部件,并与setTitleBarWidget()
设置。在那个小部件中,你可以添加任何你需要的工具提示按钮。