• 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模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

  • 相关阅读:
    七夕送礼,让《新程序员》伴你一“杯”子!
    程序员的成长分岔路——技术管理和技术专家,怎么选?
    Java 语法糖以及常见的应用
    用微软拼音输入法的自定义短语功能插入“人名+当前日期”
    .net webapi 实现 接口版本控制并打通swagger支持
    java计算机毕业设计瀚绅睿茨二人二轮车租赁管理源码+mysql数据库+系统+lw文档+部署
    将trivydb转转化为mysql、sqlite的小工具
    华为OSN1800V 5U分组增强型多业务光传送平台
    快速搭建 SpringCloud Alibaba Nacos 配置中心
    【Java 进阶篇】JavaScript JSON 语法入门:轻松理解数据的序列化和反序列化
  • 原文地址:https://blog.csdn.net/m0_60259116/article/details/127985877