Qt 不使用Qt Designer纯代码编写界面程序(初学者)总结
2013-07-25 16:18
627 查看
题记:从本科大一开始到现在,自己学计算机已经四年了,但是发现自己没有写过博客,心里捣鼓这件事由来已久,于是今天终于动手写博客了,不足之处望大家见谅。
刚学Qt时,发现这是一个陌生的IDE。学习计算机新的知识总会遇到各种问题,因为新的知识对于初学者来说完全是新的领域,甚至这是完全的新世界。在此我就把我初学Qt遇到的问题写出来,希望对以后哪位初学朋友有帮助。 我主要针对的是用纯代码进行界面开发的而言的。我就把我的纯代码开发过程写出来吧,因为我这个人有个怪癖就是做什么知根知底的比较好,这样的程序运行出来时我才会觉得很放心。当然在写代码之前,你必须把Qt Visual Studio Add
In 和Qt OpenResource for vs2010.在下载这两个工具之前你首先要确认版本是否和vs想适应,否则在安装开发环境时你会遇到很多麻烦。如果你想挑战下修改兼容问题,比如你想在让Qt resource for vs2010在vs2008上运行时,我是没去尝试,太复杂了。你可以慢慢网上查资料一步一步实验,祝君成功!
首先创建一个C++空白
2.创建完项目后,别忙着进行写代码哦,因为你的工程环境还需要进行下修改。
不使用Qt Designer对应用窗口进行设计时,需要对项目属性进行设置的有:
(1)可执行文件目录:E:\Qt4.8\QtResourse\bin;$(ExecutablePath)
(2)包含目录:E:\Qt4.8\QtResourse\include; E:\Qt4.8\QtResourse\include\Qt; E:\Qt4.8\QtResourse\include\QtGui; E:\Qt4.8\QtResourse\include\QtCore;$(IncludePath)
(3)库目录:E:\Qt4.8\QtResourse\lib;$(LibraryPath)
(4)C/C++//常规//附加包含目录:.\GeneratedFiles.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);
$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;E:\Qt4.8\QtResourse\bin;%(AdditionalIncludeDirectories)
(5)连接器//附加依赖项:qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies);
kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
上面的可执行目录等E:\Qt4.8\QtResourse\这个路径根据你安装的路径您需要做相应的修改。这样程序的环境配置以及全部设置完毕了哦。亲。那咱们现在开始着手写代码吧。简单的Qt代码入门教程都有。亲可以上网找哦。我在博文后附上我的源代码。
3.开始有的朋友肯定运行一个简单的程序会出现程序入口无法链接到QtCored4.dll,这时候的解决方法是,在你安装的Qt OpenResource目录下的QtCored4.dll拷贝到你目录的DEBUG文件夹中。比如我的目录是F:\programingPractice\Q5OBJECT\Debug。后来我的工程文件再也不用这样设置了,我不知道为什么,没有去探究。
4.Qt程序中有个重要的思想是信号signals和槽slot.这是Qt一个重要的编程思想。信号是当某个控件发生事件时发射事件触发信号,这个信号会被和这个信号绑定的槽接受到,然后进行相应的处理。Qt这个思想信号源和信号接收者都不知道彼此的存在,所以关联信号和槽时参数的类型要匹配。否则会出错。说到信号和槽,你肯定在进行开发时想自己动手写自定义的信号和槽。那么此时你肯定会遇到各种问题哦。首先我开始写自定信号和槽时,你必须写QOBEJECT这个宏,因为这样Qt会对这个宏编译时预处理。
Q_OBJECT
signals:
void angVal(int );
void forceVal(float );
public slots:
void angelChange(int degrees);
void forceChange(float force);
以上是我自己定义的信号和槽,当你点击调试运行时,别高兴哦,因为有个LINK 2001无法链接的外部符号这个错误出现的哦。别急,我写博文就是将我遇到的问题分享给你们,让你们少走点弯路。其实这是由于Qt的moc没有对你写的自定义的信号和槽进行Qt自己的处理编译。
解决办法的手动生成下moc_XX.cpp文件。
这样才你写的目录下就会生产moc_xxx.cpp文件了,导入到工程中,程序就可以完美运行了。我的程序的结果如下图。
总结:所有的问题解决了,当然你喜欢用Qt Designer进行界面开发时,就不会有这么多麻烦了。如果有什么问题,你可以发邮箱给我,邮箱地址为:767339772@qq.com.或者直接加我QQ。谢谢,写的一般,对你没用的话,朋友您就忽略吧。(附上就我的源代码)http://download.csdn.net/detail/jacayang/5814635
刚学Qt时,发现这是一个陌生的IDE。学习计算机新的知识总会遇到各种问题,因为新的知识对于初学者来说完全是新的领域,甚至这是完全的新世界。在此我就把我初学Qt遇到的问题写出来,希望对以后哪位初学朋友有帮助。 我主要针对的是用纯代码进行界面开发的而言的。我就把我的纯代码开发过程写出来吧,因为我这个人有个怪癖就是做什么知根知底的比较好,这样的程序运行出来时我才会觉得很放心。当然在写代码之前,你必须把Qt Visual Studio Add
In 和Qt OpenResource for vs2010.在下载这两个工具之前你首先要确认版本是否和vs想适应,否则在安装开发环境时你会遇到很多麻烦。如果你想挑战下修改兼容问题,比如你想在让Qt resource for vs2010在vs2008上运行时,我是没去尝试,太复杂了。你可以慢慢网上查资料一步一步实验,祝君成功!
首先创建一个C++空白
2.创建完项目后,别忙着进行写代码哦,因为你的工程环境还需要进行下修改。
不使用Qt Designer对应用窗口进行设计时,需要对项目属性进行设置的有:
(1)可执行文件目录:E:\Qt4.8\QtResourse\bin;$(ExecutablePath)
(2)包含目录:E:\Qt4.8\QtResourse\include; E:\Qt4.8\QtResourse\include\Qt; E:\Qt4.8\QtResourse\include\QtGui; E:\Qt4.8\QtResourse\include\QtCore;$(IncludePath)
(3)库目录:E:\Qt4.8\QtResourse\lib;$(LibraryPath)
(4)C/C++//常规//附加包含目录:.\GeneratedFiles.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);
$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;E:\Qt4.8\QtResourse\bin;%(AdditionalIncludeDirectories)
(5)连接器//附加依赖项:qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies);
kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
上面的可执行目录等E:\Qt4.8\QtResourse\这个路径根据你安装的路径您需要做相应的修改。这样程序的环境配置以及全部设置完毕了哦。亲。那咱们现在开始着手写代码吧。简单的Qt代码入门教程都有。亲可以上网找哦。我在博文后附上我的源代码。
3.开始有的朋友肯定运行一个简单的程序会出现程序入口无法链接到QtCored4.dll,这时候的解决方法是,在你安装的Qt OpenResource目录下的QtCored4.dll拷贝到你目录的DEBUG文件夹中。比如我的目录是F:\programingPractice\Q5OBJECT\Debug。后来我的工程文件再也不用这样设置了,我不知道为什么,没有去探究。
4.Qt程序中有个重要的思想是信号signals和槽slot.这是Qt一个重要的编程思想。信号是当某个控件发生事件时发射事件触发信号,这个信号会被和这个信号绑定的槽接受到,然后进行相应的处理。Qt这个思想信号源和信号接收者都不知道彼此的存在,所以关联信号和槽时参数的类型要匹配。否则会出错。说到信号和槽,你肯定在进行开发时想自己动手写自定义的信号和槽。那么此时你肯定会遇到各种问题哦。首先我开始写自定信号和槽时,你必须写QOBEJECT这个宏,因为这样Qt会对这个宏编译时预处理。
Q_OBJECT
signals:
void angVal(int );
void forceVal(float );
public slots:
void angelChange(int degrees);
void forceChange(float force);
以上是我自己定义的信号和槽,当你点击调试运行时,别高兴哦,因为有个LINK 2001无法链接的外部符号这个错误出现的哦。别急,我写博文就是将我遇到的问题分享给你们,让你们少走点弯路。其实这是由于Qt的moc没有对你写的自定义的信号和槽进行Qt自己的处理编译。
解决办法的手动生成下moc_XX.cpp文件。
这样才你写的目录下就会生产moc_xxx.cpp文件了,导入到工程中,程序就可以完美运行了。我的程序的结果如下图。
总结:所有的问题解决了,当然你喜欢用Qt Designer进行界面开发时,就不会有这么多麻烦了。如果有什么问题,你可以发邮箱给我,邮箱地址为:767339772@qq.com.或者直接加我QQ。谢谢,写的一般,对你没用的话,朋友您就忽略吧。(附上就我的源代码)http://download.csdn.net/detail/jacayang/5814635
相关文章推荐
- 使用CXF开发WebService程序的总结(五):基于Map数据类型处理的的客户端和服务端代码的编写
- 使用CXF开发WebService程序的总结(四):基于bean的客户端和服务端代码的编写
- 使用Qt Designer和手动编写代码两种方式实现多窗口切换程序(Qt基础)
- Qt程序国际化工具使用和相关代码编写规范
- 编写高质量代码改善C#程序的157个建议[为泛型指定初始值、使用委托声明、使用Lambda替代方法和匿名方法]
- [编写高质量代码:改善java程序的151个建议]建议84 使用构造函数协助描述枚举项
- 编写高质量代码改善C#程序的157个建议——建议27:在查询中使用Lambda表达式
- Windows下如何使用QT编写dll程序
- 编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]
- 编写高质量代码改善C#程序的157个建议——建议134:有条件地使用前缀
- C#使用总结(1)--通过IrisSkin2.dll来美化程序界面
- 3.1如何编写程序界面&3.2常见控件使用方法
- 编写高质量代码改善C#程序的157个建议——建议151:使用事件访问器替换公开的事件成员变量
- Qt5 : 使用QtDesigner的时候查看代码正确 但是编译的时候总出现 为定义的错误
- Windows下如何使用QT编写dll程序
- Linux下QT图形界面开发 用快速开发工具Qt Designer编写Qt程序(2)
- Windows下如何使用QT编写dll程序
- [编写高质量代码:改善java程序的151个建议]建议52 推荐使用String直接量赋值
- [编写高质量代码:改善java程序的151个建议]建议91 枚举和注解结合使用威力更大