Qt开发-QT Widgets
2023-09-14 09:05:27 时间
前言
Qt Quick和Qt Widgets这两种技术,官方是强推Qt Quick的。
注意:
Qt Widgets使用Python结合PySide2开发的时候,窗口的缩放,内部的组件不会随之缩放,用C++开发使用同样的UI文件就没有问题,不知道是PySide2的BUG还是哪的问题。 所以目前我就不太建议用Qt Widgets形式开发,建议Qt Quick.
常见属性
结合控件的SizePolicy属性,来控制布局管理中的控件的尺寸自适应方式。一些常用值的含义:
- Fixed:控件不能放大或者缩小,控件的大小就是它的sizeHint。
- Minimum:控件的sizeHint为控件的最小尺寸。控件不能小于这个sizeHint,但是可以放大。
- Maximum:控件的sizeHint为控件的最大尺寸,控件不能放大,但是可以缩小到它的最小的允许尺寸。
- Preferred:控件的sizeHint是它的sizeHint,但是可以放大或者缩小。
- Expandint:控件可以自行增大或者缩小。
注:sizeHint(布局管理中的控件默认尺寸,如果控件不在布局管理中就为无效的值)
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
加载UI的两种方式
方式1
转成代码后加载
UI文件转Python代码
pyside2-uic form.ui -o ui_form.py
显示
import sys
from PySide2.QtWidgets import QApplication, QMainWindow
from ui_form import Ui_Widget
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_Widget()
self.ui.setupUi(self)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
方式2
直接加载UI文件
import os
from pathlib import Path
import sys
from PySide2.QtWidgets import QApplication, QWidget
from PySide2.QtCore import QFile
from PySide2.QtUiTools import QUiLoader
class Widget(QWidget):
def __init__(self):
super(Widget, self).__init__()
self.load_ui()
def load_ui(self):
loader = QUiLoader()
path = os.fspath(Path(__file__).resolve().parent / "form.ui")
ui_file = QFile(path)
ui_file.open(QFile.ReadOnly)
loader.load(ui_file, self)
ui_file.close()
if __name__ == "__main__":
app = QApplication([])
widget = Widget()
widget.show()
sys.exit(app.exec_())
窗口设置
去掉顶部按钮
from PySide2.QtCore import QFile, Qt
self.setWindowFlags(Qt.FramelessWindowHint)
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
相关文章
- s3c2410上搭建QT/Embedded4.8.5开发环境(二)--安装arm平台qt库qt-everywhere-opensource-src-4.8.5
- Qt音视频开发27-ffmpeg视频旋转显示
- Qt音视频开发28-ffmpeg解码本地摄像头(yuv422转yuv420)
- Qt音视频开发18-不同视频打开无缝切换
- Qt音视频开发28-Onvif信息获取
- Qt音视频开发7-ffmpeg音频播放
- Qt编写安防视频监控系统50-地图配置
- Qt编写物联网管理平台41-自动清理早期数据
- Qt开源作品23-颜色拾取器
- Qt编写地图综合应用56-实时动态轨迹
- Qt开发经验小技巧241-245
- Qt开发经验小技巧186-190
- Qt开发经验小技巧176-180
- Qt开发经验小技巧141-145
- Qt中设置QTabWidget的选项卡自适应宽度拉伸填充
- Qt系列文章025-使用QMediaPlayer开发播放器
- QT 5.15 及以后QT版本源码编译(静态库、动态库)
- Qt中的TreeView多级下拉框 代码实例?
- Qt数据库驱动层
- Qt/C++ 加入轻便性能收集器
- Qt开发——字符串详解
- Qt——树结点/节点的搜索
- Window系统下开发Qt——信号与槽原理
- Qt自定义Dialog
- Qt开发示例:COM应用程序示例(ActiveQt)
- C++Qt开发——整体框架
- C++Qt开发——动画框架、状态机框架
- C++Qt开发——绘图系统
- QT音频开发:使用QAudioInput+QAudioOutput实现录音机功能,支持选择指定声卡录音,指定扬声器放音
- qt各种版本下载地址
- Qt执行耗时操作导致界面卡顿的三种解决办法
- 嵌入式linux开发,OPC UA开发,qtopcua编译,Qt版,由于版本问题未成功
- Qt开发,编译报错:Cannot find file: xxx.pro.
- Qt 多线程使用moveToThread