(ch1) Qt入门概述

本文介绍了如何在Qt应用中使用QApplication对象管理资源,并详细阐述了主函数main和对话框类Dialog的创建。重点讲解了伙伴编辑模式、信号和槽机制,以及Qt5元对象系统在GUI编程中的作用。
摘要由CSDN通过智能技术生成

入门

  • #include<QApplication>每一个使用Qt图形化应用程序中都必须使用一个QApplication对象,管理了各种各样的图形化应用程序的广泛资源,基本设置,控制流及事件处理等等

  • int main(argc,argv)应用程序的入口,每一个项目有且仅有一个main函数,两个参数,第一个参数代表命令行变量的数量,第二个变量代表命令行变量数组

  • return a.exec();程序进入消息循环,等可能的输入进行响应,这里main函数把控制权交给Qt

  • class Dialog : public QDialog
    {
        Q_OBJECT //启动Qt5元对象系统的一些特性,如支持信号和槽,必须放在类定义的私有区
    
    public:
        Dialog(QWidget *parent = nullptr);
        ~Dialog();
    
    private:
        Ui::Dialog *ui;
    };
    
  • 伙伴编辑模式

    QLabel标签和伙伴窗口部件包括一个标签和一个窗口部件,他们具有伙伴关系,指当用户激活标签的快捷键的时候,鼠标或者键盘的焦点将会转移到他的伙伴窗口部件上,只有QLable标签对象才有伙伴窗口部件,也就只有在该QLable对象具有快捷键(在显示文本的某字符前加上一个前缀&就可以定义快捷键,如:&A->alt+A)

  • 信号和槽机制

    信号和槽机制是完成任意两个Qt对象之间的通信机制,一个类被继承的时候该类的信号和槽也会同时被继承

    connect(Object1, SIGNAL(signall), Object2, SIGNAL(signall));
    
  • 信号可以连接信号,信号可以连接槽,多个信号可以连接一个槽

  • 信号和槽机制的优点:

    • 类型安全:需要关联的信号和槽签名必须是等同的,信号的参数类型和参数个数必须与接收该信号的槽的参数个数相同
    • 松散耦合:信号和槽机制减弱lQt对象的耦合度,激发信号的Qt对象不需要知道哪个槽需要接收信号,它只需要做在适当的事件发送适当的信号就可以了
  • 信号和槽的效率:通过传递一个信号调用槽函数比直接调用非虚函数调用函数慢十倍

  • Qt5元对象系统,Qt5元对象系统提供对象间的通信机制,信号和槽,运行时的类型信息和动态属性,时标准c++的一个扩展,他使Qt能够更好的实现GUI图形用户界面编程,Qt5元对象系统不支持c++模板,尽管该模板扩展了标准c++的功能,但是,元对象系统提供了模板无法提供的一些特性,任何使用元对象系统的类都必须继承自QObject,且在私有区声明Q_OBJECT宏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值