2.Qt初始介绍

主要谈谈基础的东西,要对Qt有一个总的了解。

从一个基础的Qt程序开始,代码如下:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    
    QLabel *pLbl = new QLabel("Hello Qt!");
    pLbl->show();

    return app.exec();
}

这是一个简单的Qt程序,也是我的Qt入门程序,当时以为这玩意很简单,但是随着自己经历的增加,发现这个程序其实一点也不简单。
这里面包含了许多概念,比如应用程序(app)、窗口部件(widget)、事件循环、消息等的东西。

首先便是app,这玩意是程序的整体,代表着这个程序本身。

然后便时widget,这里面的部件是QLabel类型的,这是一个标签,用于显示文本。除此之外,还有诸如按钮、窗口、视图、扩展接口等等的部件,这里仅仅是提一下,具体的介绍以后慢慢道来。

后面便是“事件循环”,这是Qt本身的处理方式,所有的行为以及操作,都是以一个一个的“事件”的形式进行的,而这些事件都是存放在一个被称为“事件循环”event loop的东西中。Qt通过取得event loop中的事件实现对于各个操作的响应。事件放在event loop中,然后Qt一个一个地从中取得“事件”。
而在这里面,**return app.exec()**语句就是表明启动事件循环。如果正常退出,返回0,否则,非0.
这玩意可以结合其他的窗口,组合成条件窗口之类的东西,实现在某种条件下的启动事件循环,比如登录界面的实现,具体的内容,后面进行介绍。

然后便是信号,严格来讲,是信号和槽。
信号和槽是Qt中最基本的通信方式,只要将指定的信号和指定的槽连接起来之后,就可以不用管何时何地发送信号了。
不过要注意的是,因为内存的限制,Qt的信号和槽的分辨率大约在20ms左右,在自己的设计中,要注意同一个线程内,不要低于这个时间(具体的看我的另一篇博客)。
在使用Qt的信号和槽时,要添加Q_OBJECT这个宏,这个宏是基础,如果没有这个宏,信号和槽机制将不能实现。关于这个宏,推荐自己去看看源码,有细致地展开。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值