zoukankan      html  css  js  c++  java
  • 关于connect函数(Qt)

    QObject::connect函数,顾名思义,链接函数,作用是链接信号(signal)和槽(slot), 基本格式如下:

    QObject::connect(sender, signal, receiver, slot)

    当sender发出了signal(这种信号类似于广播,谁需要谁就建立相应的槽去接收)之后,会自动调用receiver 的slot函数。connect函数也是信号槽机制的体现。

    而QObject::connect( )这个函数有五种重载(overloaded)形式,下面给出来。

    QMetaObject::Connection connect(const QObject *, const char *,
                                    const QObject *, const char *,
                                    Qt::ConnectionType);
    
    QMetaObject::Connection connect(const QObject *, const QMetaMethod &,
                                    const QObject *, const QMetaMethod &,
                                    Qt::ConnectionType);
    
    QMetaObject::Connection connect(const QObject *, const char *,
                                    const char *,                      //receiver为this指针
                                    Qt::ConnectionType) const; 
    
    QMetaObject::Connection connect(const QObject *, PointerToMemberFunction,
                                    const QObject *, PointerToMemberFunction,  //指向成员函数的指针
                                    Qt::ConnectionType)
    
    QMetaObject::Connection connect(const QObject *, PointerToMemberFunction,  
                                    Functor);          //Functor可以接受static函数,全局函数,以及lambda表达式

    具体解释可以查看这个博客:https://www.devbean.net/2012/08/qt-study-road-2-signal-slot/

    另外加点容易遗漏的知识点:可以用父类的构造函数来初始化子类的一部分数据。比方说MainWindow(QWidget *parent):QMainWindow(parent){...}。

    原来人类的悲欢并不相通, 我只觉得他们吵闹。
  • 相关阅读:
    [leetcode]5最长回文子串
    [leetcode]4寻找两个有序数组的中位数
    [leetcode]3无重复字符的最长字串
    [leetcode]2两数相加
    [leetcode]1两数之和
    [学习记录]堆
    [学习记录]平衡树
    [学习记录]二叉树删除
    [学习记录]排序算法总结
    创建mysql数据库
  • 原文地址:https://www.cnblogs.com/zhlabcd/p/10848543.html
Copyright © 2011-2022 走看看