当前位置: 代码网 > it编程>编程语言>C/C++ > Qt Designer教程

Qt Designer教程

2024年07月28日 C/C++ 我要评论
打开Qt Designer 软件后,会自动弹出弹窗来选择要创建的内容,一般都选择创建 Widget

创建一个 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:滚动区域

初始化窗口系统

import sys
from pyqt5.qtwidgets import qapplication,qwidget

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

    # 创建一个空白控件(窗口)
    window = qwidget()
    # 设置窗口标题
    window.setwindowtitle("demo")
    # 显示窗口
    window.show()

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

designer 生成的 .ui 文件如何导入到代码

1. 在python中

  • 使用 uic 模块之间返回 主窗口的句柄
import sys
from pyqt5.qtwidgets import qapplication,qwidget

from pyqt5 import uic # uic 用于获取窗口句柄

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

    # 创建一个空白控件(窗口)
    window = uic.loadui(r"test\demo.ui")  # 获取主窗口句柄
    # 设置窗口标题
    window.setwindowtitle("demo")

    # 获取 按钮句柄
    button = window.button1

    # 显示窗口
    window.show()

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

在这里插入图片描述

  • 通过pyqt5提供的命令行工具pyuic5 将 .ui 文件转换成 py文件
pyuic5 -o 生成的文件名.py  依赖的文件名.ui

在这里插入图片描述
在这里插入图片描述

import sys
from pyqt5.qtwidgets import qapplication,qwidget
 
from demo import ui_form
 
 
class mywindow(qwidget, ui_form):
    def __init__(self):
        super(mywindow, self).__init__()
        self.setupui(self)
        self.retranslateui(self)
 
 
if __name__ == "__main__":
    app = qapplication(sys.argv)
 
    window = mywindow()
    # 显示窗口
    window.show()

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

学习视频推荐

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com