帮助中心 广告联系

灵宝信息网-灵宝天气预报-灵宝教育网-灵宝租房-灵宝新闻网-灵宝生活网

热门关键词:

Qt学习]Qt 类中Q_OBJECT的作用及其程序代码体现

来源:原创/投稿/转载 发布时间:2019-08-04

  Qt中类里为什么要加上Q_OBJECT这个东西呢,原来这是一个Qt定义的宏.它的作用是什么呢?

  原来这个宏中包含了Qt中最重要的一个机制:也就是信号和槽的机制.所有的Qt程序一定会使用这个机制!

  我拖拽了一个QLabel框,两个QPushButton,并且给他们改过了对象名.

  第7.8行:对于两个StringList的初始化,也就是把图片的相对路径放到容器中,方便以后调用.

  第9行:ui.label-setScaledContents(true);这个成员函数的作用是把label框中的东西进行填充,举个例子,如果里面放了张图片,但是图片的大小比label框要小,那么label框中就会有一些多余的空白,显得很难看,而调用了这个函数之后,就可以让图片填充满这个label框.

  initSeaList函数中:首先我把10张图片放在了文件夹里,然后放在了Pixmap文件中这里是我对于10张图片的命名.

  特别注意,要想在程序中调用外部图片或者电影资源的话,最好和qrc文件放在一起.这样可以便于查找路径.(小编用的VS2013+Qt5.2版本,如果不会搭建这个环境的话,可以看我第一个帖子.)

  Q_OBJECT宏有着连接信号与宏的功能,一旦类中没有这个宏定义的话,信号与槽的关联也就消失了,有兴趣的小伙伴们可以做个测试,你把这个宏给注释掉,你就会发现程序一样可以正常编译通过,且成功运行,但是我点击按钮后,图片是不会显示的,原因就是缺少这个宏!

本网转载作品的目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如涉及作品内容、版权等问题,请联系我们进行修改或删除!

联系我们 -