• 【Qt开发流程之】窗口部件


    qt类关系图

    创建Qt项目时,发现提供的窗体默认 基类有:QMainWindowQDialogQWidget这三种。
    之后,你会发现,这3中窗体在UI交互中,用的也是最多的。
    以下是Qt类关系图:
    在这里插入图片描述

    基础窗口控件QWidget

    由上图可以看到,QWidget是所用用户界面对象的基类,因此被称为基础窗口部件。

    窗口、子部件、窗口类型

    窗口及窗口类型链接: https://blog.csdn.net/MrHHHHHH/article/details/134091196
    子部件是设置父对象,在别的窗口显示的部件。
    根据QWidget,默认构造可以看出:

    explicit QWidget(QWidget* parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags());
    
    • 1

    当不设置第一个参数时,它就是窗口,如果设置了,就是子部件。
    第二个参数,设置窗体Flags类型。可以设置多个窗体类型枚举值进行位或操作。
    如:

       QWidget* pW = new QWidget(0, Qt::Dialog | Qt::WindowShadeButtonHint);
       pW->show();
    
    • 1
    • 2

    设置pW为对话框类型并设置有阴影。
    在这里插入图片描述

       QLabel* pL = new QLabel("helloworld", 0, Qt::SplashScreen | Qt::WindowStaysOnTopHint);
       pL->show();
    
    • 1
    • 2

    设置pL为欢迎窗口类型,并置顶,显示如下:
    在这里插入图片描述
    以上pL显示后,右上角没有关闭按钮,如何关闭呢?
    在输出器里点击下图框选按钮进行关闭。
    在这里插入图片描述

    窗体布局

    索引里输入Window and Dialog Widgets 可查看相关介绍。
    在这里插入图片描述

    根据以上可以看出:窗体布局分两种:
    包含框架函数: x(), y(), frameGeometry(), pos(), and move().
    不包含框架函数: geometry(), width(), height(), rect(), and size().
    resize()设置是不包含边框的窗口大小。

    程序调试及快捷键

    Qt快捷键操作链接: https://blog.csdn.net/MrHHHHHH/article/details/131039023
    QtCreator 查看类帮助文档链接: https://blog.csdn.net/MrHHHHHH/article/details/133976674
    在这里插入图片描述
    在这里插入图片描述
    F9或者点击行号左侧空白区域添加断点
    在这里插入图片描述

    对话框QDialog

    QDialog是所有对话框窗口类的基类。对话框窗口是一个经常用于完成短小任务或者和用户进行简单交互的顶层窗口。

    对话框分类

    根据运行对话框是否还可以与其他窗口交互,被分为:模态的非模态的
    设置模态链接:链接: https://blog.csdn.net/MrHHHHHH/article/details/127865655

    close()方法

    只有当最后一个窗口调用close()方法时,程序才关闭,其他时候只是隐藏了窗口。

    信号和槽

    信号和槽使用链接:链接: https://blog.csdn.net/MrHHHHHH/article/details/133755793
    Qt使用信号和槽机制完成对象之间的协作。
    Qt的信号和槽是一种用于在Qt应用程序中进行事件处理和通信的机制。信号是一种特殊的函数,它们被一个对象(称为信号发射器)发出以表示某个事件已发生。槽是另一种函数,它们被用于响应信号并执行相应的操作。

    通过将信号与槽连接起来,可以实现在应用程序中触发事件和响应事件的自动化。例如,当用户单击一个按钮时,该按钮可能会发出一个信号,您可以将这个信号连接到一个槽函数中,该函数将在发生这个事件时自动执行。

    使用信号和槽,可以实现各种应用程序的功能,包括图形用户界面(GUI)应用程序、网络应用程序和多线程应用程序等。它可以帮助开发人员编写更加可靠和灵活的代码,并提高开发效率。

    设计师使用信号和槽

    流程如下:快捷键F4,可以点击编辑,添加自定义信号和槽
    在这里插入图片描述

    标准对话框

    在索引输入Standard Dialogs Example ,可以看到相关介绍。

    在这里插入图片描述

    1. 输入对话框
    2. 颜色对话框
    3. 字体对话框
    4. 文件对话框
    5. 信息提示框
      此外,还有日历选择对话框、进度框、向导、错误提示框等

    其他窗口部件

    QFrame类

    QFrame类是所有带边框的部件的基类。
    QFrame类是可以有边框的小部件的基类。QMenu使用它来将菜单“升起”到周围的屏幕之上。QProgressBar具有“凹陷”的外观。QLabel具有平面外观。这些小部件的边框可以进行更改。
    在这里插入图片描述

    QLabel类

    【Qt控件之QLabel】用法及技巧:链接: https://blog.csdn.net/MrHHHHHH/article/details/133691441

    QPushButton类

    【Qt控件之QPushButton】使用及技巧:
    链接: https://blog.csdn.net/MrHHHHHH/article/details/133692079

    QLineEdit类

    【Qt控件之QLineEdit、QPlainTextEdit 、QTextEdit 、QTextBrowser】使用及区别:
    链接: https://blog.csdn.net/MrHHHHHH/article/details/133758536

    QRadioButton类

    【Qt控件之QRadioButton】使用及技巧
    链接: https://blog.csdn.net/MrHHHHHH/article/details/133829311

    结论

    温故而知新。

  • 相关阅读:
    C++查找实验
    慧销平台ThreadPoolExecutor内存泄漏分析
    暴力求解欲哭无泪之保安问题
    TIDB 性能测试(TIUP-TPCC)
    集成电路模拟版图入门-转行模拟版图基础学习笔记(二)
    开发高性能知识付费平台:关键技术策略
    JavaScript系列之获取变量数据类型
    bean属性注入方式及AOP的概述
    二分查找实例1(在排序数组中查找元素的第一个和最后一个位置)
    如何实现element表格合并行?
  • 原文地址:https://blog.csdn.net/MrHHHHHH/article/details/134485104