我是Qt的新手,我尝试将工具栏移到tabBar旁边,但是工具栏没有移到正确的位置。
我正在像这样使用resizeEvent:
void Example5::CustomTabWidget::resizeEvent(QResizeEvent *event)
{
QTabWidget::resizeEvent(event);
qDebug() << "CustomTabWidget::resizeEvent";
updateStyleSheet();
}
void Example5::CustomTabWidget::updateStyleSheet()
{
if(count() == 0){return;}
else
{
//...set tab stylesheet and tabBar.MaximumWidth
toolbar->move(tabBar()->width(),0);
}
}
问题:
作为演示,工具栏开始移动到{100,0},即
不是正确的位置,因为第一个resizeEvent的tabBar宽度错误,为什么tabBar不会更新大小?
有关更多信息:
1.当用户拉伸窗口时,工具栏将移至正确位置。
2.updateGeometry()不起作用
3。Complete code here
4. qDebug输出:
CustomTabWidget :: tabInserted tabwidget:QRect(0,0 325x30)tabBar: QRect(0,0 100x30)
CustomTabWidget :: tabInserted tabwidget:QRect(0,0 325x30)tabBar: QRect(0,0 100x30)
CustomTabWidget :: tabInserted tabwidget:QRect(0,0 325x30)tabBar: QRect(0,0 100x30)
CustomTabWidget :: resizeEvent tabwidget:QRect(10,10 580x430)tabBar: QRect(0,0 100x30)
这意味着tabBar在resizeEvent中第一次没有更新大小。
环境:
-QT Creator 4.7.2
-QT 5.11 msvc2015 32位
-Win7操作系统