Qt拖拽界面 (*.ui) 缩放问题及解决办法
问题#
使用Qt Designer 设计的界面,在缩放的时候不能随着主窗口一起缩放。
解决办法#
之前遇到这个问题的时候,都是直接重写resizeEvent
接口来实现的,在自动生成的Ui_Widget
或Ui_MainWindow
等类中会有一个widget
或者centerWidget
的成员,所有的拖拽出的控件都是在这之上的。只需要把resizeEvent
传递给它即可。
这种方式虽然解决了问题,但是总是不太理想,还需要去改代码。
好的解决办法#
其实中问题不需要去改代码,既然所有的拖拽出的控件都在一个widget
上,而这个widget
是不会随着调用ui->setupUi(this);
的窗口一起缩放的,因为它们只有父子对象关系,而没有使用到布局空间。
这里只需要在Qt Designer
中选择设计界面的顶级对象
,然后右键单击,在布局
选项中选择一个你想要的布局即可。这样之后,moc
生成的Ui_XXXX
类中会有一个xxxxlayout
对象,所有控件都会加载到这个Layout
上(替代了原本的widget
)。这里生成的xxxxxlayout
与选择的布局有关系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理