0
点赞
收藏
分享

微信扫一扫

Qt优秀开源项目之二:Qt-Advanced-Docking-System


这个项目的原作者是mfreiholz,但是已经6年没更新,githubuser0xFFFF将该项目fork之后,一直维护到现在,这应该算是开源界的接力了。
如果你还在项目Visual studio的酷炫docking效果,那么不妨试试这款加强版的QDockWidget。

Qt优秀开源项目之二:Qt-Advanced-Docking-System_QOpenGLWidget


目前支持Qt5和Qt6,我在最近Qt5项目中试用了一把,使用方法:

将Qt-Advanced-Docking-System编译成库后引入工程,pro文件:

INCLUDEPATH += D:/Qt-Advanced-Docking-System-master/src
LIBS += -LD:/Qt-Advanced-Docking-System-master/lib -lqtadvanceddocking

效果如下:

Qt优秀开源项目之二:Qt-Advanced-Docking-System_Qt_02


这里有一点要注意,如果dock widget中用到了QOpenGLWidget,在拖动该dock widget的标题栏时,QOpenGLWidget会窗口渲染成黑色,给人的感觉就是黑屏了,如下所示

Qt优秀开源项目之二:Qt-Advanced-Docking-System_QOpenGLWidget_03

解决的方法是在main函数中添加QApplication::setAttribute(Qt::AA_ShareOpenGLContexts,true);

int main(int argc, char *argv[])
{
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts,true);

QApplication a(argc, argv);
.............................................

QWidget w;

..............................................

return w.exe();
}

解决方法来自:​​https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/issues/397​​  

举报

相关推荐

0 条评论