这个项目的原作者是mfreiholz,但是已经6年没更新,githubuser0xFFFF将该项目fork之后,一直维护到现在,这应该算是开源界的接力了。
如果你还在项目Visual studio的酷炫docking效果,那么不妨试试这款加强版的QDockWidget。
目前支持Qt5和Qt6,我在最近Qt5项目中试用了一把,使用方法:
将Qt-Advanced-Docking-System编译成库后引入工程,pro文件:
1 INCLUDEPATH += D:/Qt-Advanced-Docking-System-master/src 2 LIBS += -LD:/Qt-Advanced-Docking-System-master/lib -lqtadvanceddocking
效果如下:
这里有一点要注意,如果dock widget中用到了QOpenGLWidget,在拖动该dock widget的标题栏时,QOpenGLWidget会窗口渲染成黑色,给人的感觉就是黑屏了,如下所示
解决的方法是在main函数中添加QApplication::setAttribute(Qt::AA_ShareOpenGLContexts,true);
1 int main(int argc, char *argv[]) 2 { 3 QApplication::setAttribute(Qt::AA_ShareOpenGLContexts,true); 4 5 QApplication a(argc, argv); 6 ............................................. 7 8 QWidget w; 9 10 .............................................. 11 12 return w.exe(); 13 }
标签:Docking,Qt,QApplication,System,开源,Advanced From: https://www.cnblogs.com/ybqjymy/p/17247647.html