问题:初始化显示时正常,操作刷新后布局显示变了,刷新按钮被隐藏。
cpp
m_viewer->setGeometry(QRect(0, 0, this->width()+280, this->height()+250));
问题核心是 setGeometry() 固定了控件尺寸,破坏了Qt的自动布局机制。移除这行代码让布局管理器重新控制控件大小,可以解决布局混乱问题。
修改为
cpp
// 将这一行:
m_viewer->setGeometry(QRect(0, 0, this->width()+280, this->height()+250));
// 改为:
m_viewer->setMinimumSize(400, 300); // 或者直接删除这行setGeometry调用