qt - Qt resize:为小部件设置固定大小,需要根据屏幕大小调整大小
问题描述
我正在 Qtcreator 中开发一个需要根据屏幕大小调整大小的桌面应用程序。我已经知道如何获取屏幕尺寸。但是,我还没有全屏开发它,因为我想设置一个最佳的中间尺寸并在以后调整它的大小。
我已使用“setfixedsize()”函数为父窗口(即 1370px、768px)和所有子窗口小部件设置了固定大小,应用程序看起来很棒。但现在我为父窗口设置了另一个固定大小(即 1920px,1080px),并且子窗口小部件没有按比例扩展。我希望它们根据父窗口的大小进行扩展和缩小。
我在为所有子小部件设置固定大小方面做得对吗?或者这就是问题所在?使用这种调整大小功能在 Qt 中开发应用程序的正确方法是什么?
多谢你们。
Ps:对不起英文。
解决方案
您应该仅为主小部件设置固定大小。子小部件的大小应使用布局确定。
QWidget* mainWidget = new QWidget;
QVBoxLayout* vBoxLayout = new QVBoxLayout(mainWidget);
QWidget* firstChildWidget = new QLabel("first widget");
QWidget* secondChildWidget = new QLabel("second widget");
QWidget* thirdChildWidget = new QLabel("third widget");
vBoxLayout->addWidget(firstChildWidget);
vBoxLayout->addWidget(secondChildWidget);
vBoxLayout->addWidget(thirdChildWidget);
mainWidget->setFixedSize(400, 400);
mainWidget->show();
推荐阅读
- javascript - 修改数组元素访问以使其基于 1 的索引
- java - 服务器安全扩展功能的最佳实践,具体取决于移动应用程序的版本
- javascript - 在 Bootstrap Modal 隐藏上执行功能
- networking - Kubernetes 服务 pod 优先级
- html - 忽略用户注入的 HTML,但呈现开发人员的 html - Angular
- angular5 - 如何在不使用画布(chart.js)的情况下固定饼图的大小
- php - 如何获取两个日期之间的所有月份数据php
- linux - 无法在 LINUX 上安装 Fuchsia
- vue.js - 如何在 nuxt.js 中使用物化 CSS CDN?
- java - java中的阿拉伯语错误