QT之控件与事件

系列文章目录


第一章QT学习之控件与事件


系列文章目录

文章目录

QT是什么?

一、控件是什么?

二、事件是什么?

三、代码引例

1.创建步骤

2.在main.cpp文件中编写代码

3.结果演示 GIF

总结


QT是什么?

Qt 是一个著名的 GUI 框架,用来开发和用户交互的图形界面。作为 GUI 框架,丰富的控件和灵活的事件机制是不可或缺的,Qt 在这一方面做得非常优秀。


一、控件是什么?

Qt 控件又称组件或者部件,指用户看到的所有可视化界面以及界面中的各个元素,比如按钮、文本框、输入框等。

为了方便程序员开发,Qt 提供了很多现成的控件。打开某个带 ui 文件的 Qt Widgets Application 项目,ui 文件的 Widget Box 一栏展示了 Qt 提供的几乎所有控件:

 在QT中每个控件都有一个特定的类表示,每个控件类中又有各自的属性和方法,所有的控件类都直接或者间接继承自 QWidget 类。

前面说过,Qt 中所有可视化的元素都称为控件,我们习惯将带有标题栏、关闭按钮的控件称为窗口,实现它们的类分别是 QMainWindow 和 QDialog。 

实际开发中,制作应用程序的主窗口可以用 QMainWindow 或者 QWdiget;制作一个提示信息的对话框就用 QDialog 或 QWidget;如果暂时无法决定,后续可能作为窗口,也可能作为控件,就选择 QWidget。

二、事件是什么?

简单地理解,Qt 事件指的是应用程序和用户之间的交互过程,例如用户按下某个按钮,点击某个输入框等等。实际上除了用户会与应用程序进行交互外,操作系统也会与应用程序进行交互,例如当某个定时任务触发时,操作系统会关闭应用程序,这也是一个事件。

三、代码引例

1.创建步骤

为了更好的学习,先创建一个不带 ui 文件的 Qt Widgets Application 项目,项目中只保留一个 main.cpp 源文件,删除其它文件(mainwindows.h 和 mainwindow.cpp)。

 其余的选项默认即可

2.在main.cpp文件中编写代码

代码如下(示例):

#include "qpushbutton.h"

#include <QApplication>
#include <QWidget>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    //添加窗口
    QWidget widget;

    //设置窗口位置及大小
    widget.setGeometry(930,175,300,200);

    //定义一个按钮,它位于 widget 窗口中
    QPushButton But("按钮控件",&widget);

    //设置按钮的位置和尺寸(x,y,width,heigh)
    But.setGeometry(10,10,100,50);

    //信号与槽,实现当用户点击按钮时,widget 窗口关闭
    QObject::connect(&But,&QPushButton::clicked,&widget,&QWidget::close);

    //让 widget 窗口显示
    widget.show();
    return a.exec();
}

3.结果演示 GIF


总结

  • QMainWindow 类生成的窗口自带菜单栏、工具栏和状态栏,中央区域还可以添加多个控件,常用来作为应用程序的主窗口;
  • QDialog 类生成的窗口非常简单,没有菜单栏、工具栏和状态栏,但可以添加多个控件,常用来制作对话框。
  • 事件处理函数通常会完成两项任务,分别是:
  • 修改控件的某些属性,比如当用户按下按钮时,按钮的背景颜色会发生改变,从而提示用户已经成功地按下了按钮;
  • 运用信号和槽机制处理事件。(后续文章中讲解)
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值