测试了一下,似乎效果跟手动拖拽还是有差别的
mainwindow显示之前调用tabifyDockWidget,会发现second的标签在first之后,second处于激活状态
而如果是手动拖拽,似乎是second在first之前,处于激活状态
如果是在mainwindow显示之后调用(我的测试代码中dock的添加也是在显示之后的),调用后的效果似乎更类似于手动拖拽
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow w;
QDockWidget *dw1 = new QDockWidget("1", &w);
QDockWidget *dw2 = new QDockWidget("2", &w);
w.addDockWidget(Qt::LeftDockWidgetArea, dw1);
w.addDockWidget(Qt::LeftDockWidgetArea, dw2);
w.tabifyDockWidget(dw1, dw2);
w.show();
return a.exec();