因为Qt默认的QDockWidget的特性不太能满足我嘚软件界面需求我想从QDockWidget继承做一个自定义特色的DockWidget,但不知如何下手请高手指教,谢谢:
QDockWidget默认的特性是:当Widget为浮动窗体时双击qdockwidget 标题栏欄将导致Widget Dock到主窗体中。
我需要的特性是:当Widget为浮动窗体是双击qdockwidget 标题栏栏导致Widget窗体最大化,而按qdockwidget 标题栏栏的最小化按钮时则导致Widget Dock至主窗体
函数并传递Qt::Window|Qt::WindowMinMaxButtonsHint参数给它,如此可在浮动窗体的qdockwidget 标题栏栏上显示最大化、最小化按钮但双击qdockwidget 标题栏栏时的动作却变成了:先最大化,再Dock至主窗体;
2.参考qt-project.org论坛上的朋友给出的建议重载函数mouseDoubleClickEvent,但是经过测试发现在浮动窗体的qdockwidget 标题栏栏双击并不能触发重载函数的执行,仅在窗體的控件界面上双击才能触发;查阅了QDockWidget的源代码发现qdockwidget 标题栏栏的双击动作是在QDockWidgetPrivate类中实现,而这个类Qt似乎并未在文档中向用户开放因此貌似重载mouseDoubleClickEvent这条路也走不通。
因此还有什么办法可以实现我的目的吗?
|