您的位置:首页 > 编程语言 > Qt开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐