=================================版权声明=================================
版权声明:原创文章 禁止转载
请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我
勿用于学术性引用。
勿用于商业出版、商业印刷、商业引用以及其他商业用途。
本文不定期修正完善。
本文链接:http://www.cnblogs.com/wlsandwho/p/8960705.html
耻辱墙:http://www.cnblogs.com/wlsandwho/p/4206472.html
=======================================================================
开发环境Win7 64+VS2015+WDK10+qt-opensource-windows-x86-5.10.1
=======================================================================
创建Qt Widgets Application项目时,出现问题。
很奇怪,在网上并没有找到什么描述和解决方法。
=======================================================================
抱着求真务实的态度,我做了各种尝试。终于试验出一个临时方案。至少能凑合用一下。
=======================================================================
1 创建Qt Widgets Application项目时,去掉Generate form的对勾。记住此时创建的类型。
2 添加新文件,选择Qt Designer Form Class
选择红色框中找出刚才记住的类型,然后选中。
若选择Main Window,则会提示文件已经存在,不用管覆盖就行。
=======================================================================
下面以Widget为例,说一下其余情况。
假设之前工程选择的是QWidget,那么之后要插入的文件应该是:
这里有一个点要注意,MainWindow类型的问题工程创建新文件时默认类名和正常Qt工程中类名相同可以覆盖,QWidget的问题工程修改成Widget后覆盖编译会出错。这里我们不要改,凑合着用Form就行了。
然后再修改main.cpp文件,替换掉原有的代码。
将
1 #include "widget.h" 2 #include <QApplication> 3 4 int main(int argc, char *argv[]) 5 { 6 QApplication a(argc, argv); 7 Widget w; 8 w.show(); 9 10 return a.exec(); 11 }
修改为
1 #include <form.h>//#include "widget.h" 2 #include <QApplication> 3 4 int main(int argc, char *argv[]) 5 { 6 QApplication a(argc, argv); 7 Form f;//Widget w; 8 f.show();//w.show(); 9 10 return a.exec(); 11 }
至此可以像正常工程一般开发了。
=======================================================================
Linux版本不存在这个问题。