• Qt开发-QT Widgets


    前言

    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

    显示

    1. import sys
    2. from PySide2.QtWidgets import QApplication, QMainWindow
    3. from ui_form import Ui_Widget
    4. class MainWindow(QMainWindow):
    5. def __init__(self):
    6. super(MainWindow, self).__init__()
    7. self.ui = Ui_Widget()
    8. self.ui.setupUi(self)
    9. if __name__ == "__main__":
    10. app = QApplication(sys.argv)
    11. window = MainWindow()
    12. window.show()
    13. sys.exit(app.exec_())

    方式2

    直接加载UI文件

    1. import os
    2. from pathlib import Path
    3. import sys
    4. from PySide2.QtWidgets import QApplication, QWidget
    5. from PySide2.QtCore import QFile
    6. from PySide2.QtUiTools import QUiLoader
    7. class Widget(QWidget):
    8. def __init__(self):
    9. super(Widget, self).__init__()
    10. self.load_ui()
    11. def load_ui(self):
    12. loader = QUiLoader()
    13. path = os.fspath(Path(__file__).resolve().parent / "form.ui")
    14. ui_file = QFile(path)
    15. ui_file.open(QFile.ReadOnly)
    16. loader.load(ui_file, self)
    17. ui_file.close()
    18. if __name__ == "__main__":
    19. app = QApplication([])
    20. widget = Widget()
    21. widget.show()
    22. sys.exit(app.exec_())

    窗口设置

    去掉顶部按钮

    1. from PySide2.QtCore import QFile, Qt
    2. self.setWindowFlags(Qt.FramelessWindowHint)

    本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

  • 相关阅读:
    提高工作效率,让你快速获得Hypermesh二次开发能力!
    ARM 和 AMD 架构的区别
    qml介绍
    Redis高可用原理 主从哨兵集群
    《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(1)-初识Wireshark
    Git相关操作
    机器学习的原理是什么?
    【Java分享客栈】超简洁SpringBoot使用AOP统一日志管理-纯干货干到便秘
    使用 Github Actions 工作流自动部署 Github Pages
    Linux系统离线安装Python
  • 原文地址:https://blog.csdn.net/m0_60259116/article/details/127985877