Qt Designer教程

news2024/11/24 3:10:39

文章目录

  • 创建一个 ui 文件
  • 选择控件
  • Qt Designer基本控件介绍
    • 1、Layouts
      • 1.1、Layouts 布局
      • 1.2、参数配置
    • 2、Spacers
      • 2.1、 Spacers 弹簧介绍
      • 2.2、 参数设置
    • 3、Buttons 按键
      • 3.1、 Buttons 按键分类
    • 4、Item Views(Model-Based) 项目视图(基于模型)
      • 4.1、 Buttons 按键分类
    • 5、Item Widgets(Item-Based) 项目小部件(基于项目)
      • 5.1、 Item Widgets
    • 6、Containers 容器
      • 6.1、Containers 容器
  • 初始化窗口系统
  • 学习视频推荐

QT 官方文档参考地址:https://doc.qt.io/qt-5/qapplication.html

创建一个 ui 文件

打开Qt Designer 软件后,会自动弹出弹窗来选择要创建的内容,一般都选择创建 Widget
在这里插入图片描述

选择控件

左侧是一些常用的控件,使用时直接选中往中间拖动即可
在这里插入图片描述

Qt Designer基本控件介绍

1、Layouts

1.1、Layouts 布局

在这里插入图片描述

  • Vertical Layout : 垂直布局
  • Horizontal Layout : 水平布局
  • Grid Layout : 网格布局
  • Form Layout : 表格布局
    在这里插入图片描述
    如果我们希望随着主窗口的缩放,界面里面的控件、控件之间的距离也相应的进行缩放,可以通过界面布局 Layout来实现,如下图,必须最上层的控件 Widget 有布局后才会动态跟随缩放
    在这里插入图片描述

1.2、参数配置

  1. layoutName :layout布局实例化对象名
  2. layoutLeftMargin: layout内的布局距离边框左端的距离
  3. layoutTopMargin: layout内的布局距离边框顶端的距离
  4. layoutRightMargin: layout内的布局距离边框右端的距离
  5. layoutBottomMargin: layout内的布局距离边框底端的距离
  6. layoutHorizontalSpacing: layout内的水平方向内的对象(包括控件和低一级布局)的水平间隙
  7. layoutVerticalSpacing:layout内的垂直方向内的对象(包括控件和低一级布局)的垂直间隙
  8. layoutRowStretch: layout内的水平方向内的对象(包括控件和低一级布局)在拉伸时的水平尺寸比例。(例如1,2,表示水平的两个对象的宽度比例为1:2,不过这也会受到sizePolicy影响)
  9. layoutColumnStretch: layout内的垂直方向内的对象(包括控件和低一级布局)在拉伸时的垂直尺寸比例。

2、Spacers

2.1、 Spacers 弹簧介绍

在这里插入图片描述

  • Horizontal Spacer : 一个用于水平分隔的空格,可以将多个组件水平分隔开,添加N个即隔开N个空格距离
  • Vertical Spacer :一个用于垂直分隔的空格,可以将多个组件垂直分隔开,添加N个即隔开N个空格距离

间隔器只能放在布局里面,用来改变布局中控件之间位置

2.2、 参数设置

在这里插入图片描述
1、sizetype

  • Fixed:不能放⼤或缩⼩
  • Minimum:不能⼩于sizeHint尺⼨,可放⼤(若设置了最⼤尺⼨)
  • Maximum:不能放⼤,可缩⼩到允许的最⼩尺⼨(若setMinimumSize(10,10)只能缩⼩到(10,10))
  • Preferred:控件的sizeHint是他的Hint,可以放⼤或缩⼩
  • Expandint:控件可以自行增大或者缩小

注:sizeHint (布局管理中的空间默认尺寸,如果控件不在布局管理中就为无效的值)

3、Buttons 按键

QPushButton 是用于创建按钮的组件,它允许用户与应用程序进行交互。

3.1、 Buttons 按键分类

  • QPushButton:QPushButton 是最基本的按钮组件,用于创建普通按钮。可以设置按钮的文本、图标、状态等属性,并连接按钮的点击事件。
    在这里插入图片描述

  • QRadioButton:QRadioButton 是用于创建单选按钮的组件。多个 QRadioButton 可以组成一个单选按钮组,用户只能选择其中一个。
    在这里插入图片描述

  • QCheckBox:QCheckBox 是用于创建复选框的组件。它允许用户从多个选项中选择一个或多个选项。
    在这里插入图片描述

  • QToolButton:QToolButton 是用于创建工具按钮的组件。它通常用于工具栏和工具栏样式的按钮集。
    在这里插入图片描述

  • QCommandLinkButton:QCommandLinkButton 是一种带有标题和说明的按钮,通常用于提供上下文相关的操作。
    在这里插入图片描述

  • DialogButtonBox:QRadioButton 和 QCheckBox 的派生类,Qt 还提供了一些派生类,如 QRadioButton 的派生类 QRadioButtonGroup 和 QCheckBox 的派生类 QButtonGroup。这些类可以更好地管理和组织单选按钮和复选框的行为。
    在这里插入图片描述

4、Item Views(Model-Based) 项目视图(基于模型)

Item Views 组件是用于显示和编辑大量数据的强大工具集。这些组件允许你以表格、列表、树状等方式呈现数据,并提供了丰富的功能和灵活性。

4.1、 Buttons 按键分类

  • QTableView:QTableView 是用于显示表格数据的组件。它提供了类似于电子表格的界面,支持排序、过滤、编辑等功能。
    在这里插入图片描述

  • QListView:QListView 是用于显示列表数据的组件。它以垂直或水平的方式显示项目,并可通过设置不同的视图模式进行定制。
    在这里插入图片描述

  • QTreeView:QTreeView 是用于显示树状数据的组件。它以层次结构的方式显示数据,并支持展开和折叠节点、排序、过滤等功能。
    在这里插入图片描述

  • Column View:提供了Model-View框架中的列视图实现。
    在这里插入图片描述

  • Undo View:用于在应用程序中实现撤消/重做功能.

5、Item Widgets(Item-Based) 项目小部件(基于项目)

5.1、 Item Widgets

  • QTableWidget:QTableWidget 是 QTableView 的子类,它提供了一个方便的方式来显示和编辑简单的表格数据。相比于 QTableView,QTableWidget 更易于使用,但功能相对较少。
    在这里插入图片描述

  • QTreeWidget:QTreeWidget 是 QTreeView 的子类,它提供了一个方便的方式来显示和编辑简单的树状数据。类似于 QTableWidget,QTreeWidget 更易于使用,但功能相对较少。用于显示列表形式的项目。它提供了一个可视化的列表视图,每个项目可以包含文本、图标和其他自定义的数据。
    在这里插入图片描述

  • QListWidget: 是 Qt 提供的控件类,专门用来创建列表。如果需要以列表的方法展示数据,可以优先考虑用 QListWidget 类实现。
    在这里插入图片描述

6、Containers 容器

6.1、Containers 容器

Frame 框架容器
Group Box 组框
Stacked Widget 层叠部件
Tab Widget 标签部件
Tool Box 工具箱:工具部件提供一个多页面多间隔的工具箱。一个工具箱容纳多个工具条,一个工具条容纳多个工具按钮。
Dock Widget 停靠窗口
Scroll Area:滚动区域

初始化窗口系统

QApplication(int &argc, char **argv)
初始化窗口系统并使用 argv 中的 argc 命令行参数构造一个应用程序对象。
argc 和 argv 引用的数据必须在 QApplication 对象的整个生命周期内保持有效。此外,argc 必须大于零,并且 argv 必须至少包含一个有效字符串。

from PyQt5.QtWidgets import QApplication

if __name__ == '__main__':
    # 创建一个应用程序对象
    app = QApplication(sys.argv)

    # 进入程序的主循环,并通过exit函数确保主循环安全结束
    sys.exit(app.exec_())

Qt QListWidget列表框用法详解

学习视频推荐

Python Qt 图形界面编程
PyQt5 快速入门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1405690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙 HarmonyOS ArkTS 弹窗、带点击回调

// xxx.ets@Entry@Componentstruct Page {@State color: Color = Color.Blue;build() {Column({ space: 20 }) {Button(弹窗).width(180).height(80).backgroundColor(this.color).onClick(()=>{AlertDialog.show({title: 弹窗标题,message: 弹窗内容,autoCancel: true,alig…

状态空间模型(SSM)是近来一种备受关注的 Transformer 替代技术

状态空间模型(SSM)是近来一种备受关注的 Transformer 替代技术,其优势是能在长上下文任务上实现线性时间的推理、并行化训练和强大的性能。而基于选择性 SSM 和硬件感知型设计的 Mamba 更是表现出色,成为了基于注意力的 Transform…

ElasticSearch的集群管理命令

ElasticSearch版本 {"name" : "data-slave1","cluster_name" : "data-es","cluster_uuid" : "xxxxxxxxxx-eMwxw","version" : {"number" : "7.2.1","build_flavor" : &…

重拾计网-第四弹 计算机网络性能指标

ps:本文章的图片内容来源都是来自于湖科大教书匠的视频,声明:仅供自己复习,里面加上了自己的理解 这里附上视频链接地址:1.5 计算机网络的性能指标(1)_哔哩哔哩_bilibili ​​​ 目录 &#x…

Windows ssh登录eNSP交换机

目录 1. Cloud IO配置1.1 创建UDP端口1.2 创建本地连接1.3 端口映射设置 2. 交换机配置2.1 配置vlanif2.2 配置vty2.3 配置ssh用户2.4 配置aaa2.5 使用Xshell工具登录2.6 用户和密码2.7 登录成功 3. 使用cmd 登录报错提示3.1 手动指定加密算法,提示密码长度无效3.2 …

通过MobaXterm实现串口通信与SSH通信

MobaXterm实现串口通信与SSH MobaXterm简介 MobaXterm是一款终端工具,不仅免费,而且高效,相比于收费的SecureCRT和免费的PuTTy,MobaXterm可谓博采众长。在师兄的建议下,选择这款工具作为终端调试工具。 界面如下图所示…

机器人DH建模

D-H 根据表达式判断所建立的DH模型是标准型(Standard DH)还是改进型(Modified DH) 第三四行的首元素为0的是标准型,参考博客 标准DH参数坐标系建立在传动轴上,而修正DH参数坐标系建立在驱动轴上。修正D…

啊哈c语言——逻辑挑战14(一个萝卜一个坑)

这里有一个有趣的问题:从键盘输入5个0~9的数,然后输出0~9 中那些没有出现过的数。例如,输入2 5 2 1 8时,输出0 3 4 6 7 9。 想一想,有没有什么好办法? 我们这里借助一个数组就可以解…

【数据结构】 链栈的基本操作 (C语言版)

目录 一、链栈 1、链栈的定义: 2、链栈的优缺点: 二、链栈的基本操作算法(C语言) 1、宏定义 2、创建结构体 3、链栈的初始化 4、链栈的进栈 5、链栈的出栈 6、获取栈顶元素 7、栈的遍历输出 8、链栈的判空 9、求链…

车辆 | 平行泊车路径规划碰撞约束及可行驶区域公式推导

注:本文推导参考网上论文并加上了一些自己的理解,侵权删。 一、碰撞约束: 需要先计算D 点(D 点为第一段圆弧路径的终点)位置,再根据 D 点计算C 点范围区域。 其中:Lp为车位长度,最…

【论文阅读】Automated Runtime-Aware Scheduling for Multi-Tenant DNN Inference on GPU

该论文发布在 ICCAD’21 会议。该会议是EDA领域的顶级会议。 基本信息 AuthorHardwareProblemPerspectiveAlgorithm/StrategyImprovment/AchievementFuxun YuGPUResource under-utilization ContentionSW SchedulingOperator-level schedulingML-based scheduling auto-searc…

联想M7268、7208打印机加粉清零方法

联想小新M7268激光一体机基本参数 产品类型 黑白激光多功能商用一体机 涵盖功能 打印/复印/扫描 最大处理幅面 A4 耗材类型 鼓粉分离 耗材容量 硒鼓LD2268:10000页,墨粉LT2268:1000页 双面功能 手…

Spring复习-问题回答

1.什么是 spring,你对 spring 的理解? Spring是一个轻量级,非侵入式的(不使用框架特定的类,感受不到框架)IOC和AOP一站式的java后端开发框架,简化企业开发。 2.spring 的优缺点 优点: Spr…

C++11新特性:拓展的friend语法

在C中,friend关键字用于声明一个函数或类是另一个类的友元(friend)。被声明为友元的函数或类可以访问包含它的类的私有成员。 使用friend关键字应当谨慎,因为它破坏了封装性,增加了类之间的耦合性。友元关系应该仅在确…

Spring中Bean对象的存储与读取

创建 Maven 项目 添加 Spring 框架支持 在项目的 pom.xml 中添加 Spring 支持 如何选定版本环境&#xff1a;打开官网&#xff0c;点击github图标 jdk8最后一个Spring版本是5.3.x&#xff0c;Spring6.0.x最低需要jdk17 <dependencies><dependency><groupId&…

QT upd测试

QT upd测试 本次测试将服务器和客户端写在了一个工程下&#xff0c;代码如下 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QUdpSocket> #include<QTimer>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE…

Windows下RocketMQ搭建

RocketMQ安装 注&#xff1a;Windows必须先安装64bit的 JDK1.8 或以上版本及Maven 。 1.官网下载&#xff1a;下载 | RocketMQ 2.将下载下的安装文件解压到本地磁盘 3.配置环境变量 &#xff1a; 变量名&#xff1a;ROCKETMQ_HOME 变量值&#xff1a;G:\RocketMQ\rocketmq…

常用电子器件学习——MOS管

MOS管介绍 MOS&#xff0c;是MOSFET的缩写。MOSFET 金属-氧化物半导体场效应晶体管&#xff0c;简称金氧半场效晶体管&#xff08;Metal-Oxide-Semiconductor Field-Effect Transistor, MOSFET&#xff09;。 一般是金属(metal)—氧化物(oxide)—半导体(semiconductor)场效应晶…

SpringBoot 中配置处理

1、简介 本文介绍一些 springboot 配置管理相关的内容&#xff0c;如何自定义配置&#xff0c;导入配置&#xff0c;配置绑定和基于 profiles 的配置。 2、springboot 配置管理 2.1、自定义配置类 在 spring 中使用 Configuration 注解定义配置类&#xff0c;在 springboot 中…

利用GPU加速自定义风格图像生成-利用GPU加速结合了ControlNet/ Lora的Stable Diffusion XL

点击链接完成注册&#xff0c;参加本次在线研讨会 https://www.nvidia.cn/webinars/sessions/?session_id240124-31319 随着AI技术的发展, 数字内容创建业务也变得越来越火热。生成式AI模型的发布, 让我们看到了人工智能在各行各业的潜力。您只需要用语言简单描述自己希望看…