QT creator的ui界面和实际运行出来的界面不一致

现象

QT creator的UI界面:
这里写图片描述
运行界面:
这里写图片描述

解决方法

在UI界面下->Form Editor-栅格布局,使用栅格布局后即可自适应大小。
这里写图片描述

修改结果:
这里写图片描述

### 如何在 Qt UI 中插入图片并设置为填充模式 在 Qt 的图形界面开发中,可以通过多种方式实现图像的加载显示。以下是关于如何在 Qt 用户界面上插入图片以及将其设置为填充模式的具体方法。 #### 使用 `QLabel` 显示图片 可以利用 `QLabel` 控件来展示图片,并通过调整其属性使图片适应控件大小: ```python from PySide6.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget from PySide6.QtGui import QPixmap app = QApplication([]) widget = QWidget() layout = QVBoxLayout() pixmap = QPixmap(":/icons/background.jpg") # 加载资源中的图片 label = QLabel() # 创建 QLabel 实例 label.setPixmap(pixmap.scaled(label.size(), aspectRatioMode=1)) # 调整图片尺寸以匹配标签大小[^1] layout.addWidget(label) widget.setLayout(layout) widget.show() app.exec() ``` 上述代码片段展示了如何使用 `QLabel` 来显示一张图片,并调用了 `scaled()` 方法让图片按照比例缩放到适合控件的大小。 #### 设置背景图并启用拉伸效果 如果希望将图片作为窗口或控件的背景,则需注意默认行为会使背景图片被平铺而非拉伸。为了改变这一特性,可采用如下策略之一: ##### CSS 样式表法 借助样式表定义组件外观是一种简洁有效的方式。下面的例子演示了怎样运用 CSS 让背景图填满整个窗体而会重复绘制: ```css QWidget { background-image: url(:/icons/background.jpg); /* 定义背景图为资源路径下的文件 */ background-repeat: no-repeat; /* 防止图案循环复制粘贴 */ background-position: center; /* 居中放置背景画布 */ background-origin: content; /* 设定原点基于内容区计算位置 */ } ``` 此段样式声明应嵌套于 Python 或 C++ 应用程序启动之前初始化全局主题时应用上去[^2]。 ##### 绘制事件重写技术 另一种更灵活的办法是对目标类重新实现 paintEvent 函数,在其中手动完成自定义绘图逻辑: ```cpp void MyWidget::paintEvent(QPaintEvent *event){ QPainter painter(this); QRect rect = this->rect(); // 获取当前部件矩形范围 QImage image(":icons/background.jpg"); // 构造一个新对象存储读取来的数据流 painter.drawImage(rect,image); // 将图像映射至指定区域内 } ``` 以上两种途径均可达成预期目的——使得选定素材完全占据分配给它的空间而失真变形。 #### 关联配置与构建过程注意事项 当项目规模扩大后,可能涉及到多个模块共享相同规则的情况。此时可以在顶层目录下新增 `.qmake.conf` 文件统一管理公共选项,像这样添加一行命令即可生效: ```plaintext CONFIG += mycheck qtCompileTest(test) ``` 这一步骤有助于减少冗余操作的同时提高维护效率[^4]。 ---
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值