Qt 4 的connect()函数与 Qt 5 最大的区别

suoniao 2021-03-25
需要:0索币

Qt 4 的connect()函数与 Qt 5 最大的区别在于,Qt 4 的 signal 和 slot 只有const char *这么一种形式。如果我们将上面的代码修改为 Qt 4 的,则应该是这样的:

// !!! Qt 4
#include <QApplication>
#include <QPushButton>

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

    QPushButton button("Quit");
    QObject::connect(&button, SIGNAL(clicked()),
                     &app,    SLOT(quit()));
    button.show();

    return app.exec();
}

我们使用了SIGNALSLOT这两个宏,将两个函数名转换成了字符串。注意,即使quit()QApplication的 static 函数,也必须传入一个对象指针。这也是 Qt 4 的信号槽语法的局限之处。另外,注意到connect()函数的 signal 和 slot 都是接受字符串,因此,不能将全局函数或者 Lambda 表达式传入connect()

回帖
  • 消灭零回复
相关主题
Qt 4 的connect()函数与 Qt 5 最大的区别 0
Qt4 的信号槽同 Qt5类似有三个不同的connect()重载 0
Qt5教程之实现流水线效果 移动的小方块或者说是类似移动的蚂蚁线 0
Qt教程之实现单击以后切换成进度条指示按钮单击动作执行的进度 0
QT5实战之实现统计项目中的所有文件的代码行数 0
QT5获取CPU核心数 通过QProcess执行 wmic cpu get NumberOfCores命令 0
QT5获取硬盘序列号 通过QProcess执行 wmic diskdrive get serialnumber命令 0
QT5获取BIOS序列号 通过QProcess执行 wmic bios get serialnumber命令 0
QT5获取电脑主板序列号 通过QProcess执行wmic baseboard get serialnumber 命令 0
QT5获取电脑cpucpu序列号 通过QProcess执行 wmic cpu get processorid 命令 0
QT5获取电脑cpu线程数 通过QProcess执行 wmic cpu get NumberOfLogicalProcessors 命令 0
QT5获取电脑CPU的名称 通过QProcess执行 wmic cpu get name 命令 0
使用setStretchFactor设置QSplliter左右控件的大小比例 0
Qt5控件大小缩放和位置变化 透明度控制隐藏和显示 0
Qt5实际的动画类QPropertyAnimation 0
QT5实现数组滚动角标样式图文教程 0
QT5固定窗口大小使其不能最大化窗口 0
Qt5通过setWindowTitle 设置窗口标题名称 0
Qt自定义数据结构做槽函数参数的时候需要Q_DECLARE_METATYPE 0
Qt5实现鼠标进入显示按钮离开隐藏按钮 0
相关主题
QListWidget滚动的时候显示不完整 滚动条模式导致的哦 0
Qt设置顶层面板背景透明Qt::WA_TranslucentBackground 隐藏边框Qt::FramelessWindowHint 0
QMenu和QMenuBar样式表大全 qss 0
QT定时器startTimer和timerEvent事件 每隔interval 毫秒就会启动一次 0
C语言内存分配函数malloc和calloc的区别 0
QCheckBox的QSS样式表总结 0
Qt通过qRegisterMetaType注册自定义数据类型 0
QListwidget触发2次itemClicked事件 0
打印机USB驱动开发之实现打印服务器 0
Qt利用QLabel组件来显示图片 0
TableView自定义代理QStyledItemDelegate实现ComboBox 0
Qt利用QGraphicsView类实现图片放大缩小平移显示 0
Qt实现非阻塞延迟方法sleep 0
海康相机SDK的C++对应的接口 0
Qt实现webdav客户端功能支持https协议的webdav客户端 0
CHKDSK解决 移动硬盘只能看见盘符其它信息都看不见另外双击也打不开 0
gogs一直报errror:dial tcp xxx.xxx.xxx.xxx 宿主机的ip 0
索鸟快传2.1.2发布 0
索鸟快传2.1.1发布 0
Qt操作windows注册表的方法 bat从注册表中将键值删除 0