日志
菜鸟的Qt5之旅——QDialog
2017-07-29 11:07
跟着教程《零基础学Qt》学习,该教程基于Qt4,但是我装的Qt5.7.1,所以会出现Qt4和Qt5之间的兼容问题。
今天学习第六章完全手写代码的方式完成界面布局和构建,遇到一些问题: 1、qmake问题 qmake失败,主要是Qt4和Qt5之间存在差异,Qt5将一些文件移动了位置。 在.pro中添加QT += widgets TARGET中不能缺省,TARGET = 工程名 2、遇到定义一个类继承QDialog,头文件包含#include<QtWidgets/QApplication>。但是在编译时提示未定义基类QDialog。后新添加#include<qdialog>解决问题。 3、LNK2001:无法解析的外部符号public: virtual struct QMetaObject。。。。 这是MOC(元对象编译器)的原因。在程序中用到了信号signals和槽slots,signals和slots是QT的概念,C++里没有,所以需要用MOC将signals和slots编译成C++语言。 4、Qt4和Qt5兼容问题 由于现在很多教程都是Qt4的,而Qt5的一些文件相比于Qt4,移动了路径,所以在跟着教程走时,会遇到找不到头文件的情况。所以需要在.pro中添加:QT += core gui widgets,相应头文件会自动搜索到列表里,保证了Qt4和Qt5的兼容性。
图片:
|
下一篇: 无
上一篇: 无