有没有办法为 QDockWidget 中的关闭按钮和浮动按钮设置工具提示文本?
问问题
1874 次
2 回答
5
正如 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";}
于 2013-02-27T08:17:31.960 回答
1
您可以实现任何您想要的标题小部件并将其设置为setTitleBarWidget()
. 在该小部件中,您可以添加任何带有您需要的工具提示的按钮。
于 2013-02-27T06:28:49.207 回答