• Qt学习笔记


      在学习QT5程序开发的过程中,我的参考书是陆文周编著的《QT5开发与实例(第3版)》。在学习第七章。图形视图框架时,遇到了conncet无法连接消息和槽的情况。

    在找来教材对应的源码后对比类的定义,函数的声明后也没有发现不同。但是书上的源代码就能成功运行,实现消息响应,而没有警告信息。但我的程序运行后就出现

    QObject::connect: No such slot QGraphicsView::Zoom(int) in ../mapWidget/mapwidget.cpp:39

      这样的出错信息,表示不能找到信号槽函数slotZoom(int)。但是该函数的定义和声明都与原书代码一致。百思不得其解......随后我又仔细检查了类的继承关系,QT

    项目的构建文件,包含头文件等,都没有发现异常。之后我又检查了是否在类声明中定义Q_OBJECT宏,结果真的没定义。添加该宏之后,在.pro文件中随便添加几个空格(为了使项目重新构建),运行,问题终于得到了解决。程序运行结果如下:

    滑动滚动条,可实现地图的缩放,程序还是挺美观的^-^

    总结

    忽略小的细节,可能对程序造成很大的影响,尤其是类的继承,宏定义这种细节很容易被忽视。而这些细节往往会影响整个程序。

  • 相关阅读:
    hdu_2224_The shortest path(dp)
    hdu_4824_Disk Schedule(dp)
    hdu_5680_zxa and set(想法题)
    hdu_5683_zxa and xor(非正解的暴力)
    hdu_1429_胜利大逃亡(续)(BFS状压)
    hdu_1254_推箱子(双BFS)
    hdu_1969_pie(二分)
    hdu_2446_Shell Pyramid(数学,二分)
    hdu_2141_Can you find it?(二分)
    5.2 nc + JMX查看分布式程序数据
  • 原文地址:https://www.cnblogs.com/SupremeGIS-Developer/p/11221882.html
Copyright © 2020-2023  润新知