我先来抛砖引玉吧
1)内嵌VC开发的话,可以使用visualstudio的各种C++功能,文本编辑/自动补全/调试等等和普通的C++开发差不多,gui界面会调用designer插件,这个vc/eclipse/kdevelop/qtcreator都一样。相对来说比较方便。但是因为visualstudio不支持并行编译(至少vsnet2008还不支持),因此编译较慢。如果是写了makefile,或者利用qt生成vc格式的makefile,那么qtgitorisorg上有一个项目叫jom,和nmake基本兼容,但是支持并行编译,这个只能在命令行里面用
2)eclipse,给我的感觉怎么说呢,就不像是给C/C程序员使用的IDE,它其实也就是用qt插件创建gui,在编译过程中插入moc/uic/r处理。编译速度要看是在windows下还是linux下,如果是wndows,eclipse使用的是mingw工具链,因此编译速度很慢。linux下用的是g工具链,因此速度较快
3)kdevelop分为3x版本的和4x版本的,3x版本的比较成熟,但是有些功能不太容易使用,比如一个很简单的添加已存在的文件到项目中的 *** 作,用kdevelop就是没有很直观的方式。不是很好用
4)qtcreator,我觉得比kdevelop和eclipse好用,比visualstudio2008当然还是差一些。比如它的文件的编码格式(gb2312/iso88159-1/utf-8/big5)之类的设置,有时候似乎没有生效,我用kate或者gedit打开之后发现qtcreator编码格式转换没有起作用。
这些工具在gui编码和qt特有的功能(信号/槽、属性、moc/uic/r)方面基本相同,都是调用qtdesigner插件。在编译速度方面,eclipse(win32)=QTCREATOR(WIN32MINGW)qtcreator>eclipse=kdevelop
QT目前没有发现有中文文档,C++ GUI Qt4 我也看了,可能是水平太低了吧,我觉得这书不适合初学者,但是这书也不是面向高级人员的,看了前面一部分就没再看,改看霍亚飞的《Qt Creator快速入门》,觉得还不错。
QT的文档不是很难,开个词典就能解决问题。不过我个人觉得QT的文档不够详细,有些东西就简单的一句话,关键时刻还得靠google。
你需要做的不只是编写一段程序这么简单,在嵌入式中运行QT程序是需要环境支持的,步骤大体如下:
1 移植qte到嵌入式设备中,就是移植qt的嵌入式版本到嵌入式设备中,保证设备启动后可以正常进入到GUI模式
2 修改你现在的程序,用QT库画出一个小型的界面,上面有几个按钮
3 将按钮的点击事件与控制电机转速和方向的函数用信号与槽连接起来
4 编写Makefile文件,交叉编译,下载到板子中运行
建议楼主可以先在PC上编译,调试一下按钮的 *** 作可以不可以激活你实现的功能函数,然后在进一步下载的 *** 作。详细阅读相关帮助文档,也能帮你解决问题~ 祝愉快~
QT是基于消息-槽机制的
类似MFC,可以手写界面上的按钮或者文本框,也可以用QT自带的拖拽工具,我原来用QT4写过FTP的服务器端和客户端,基本上是用C++写的,然后用makefile编译,基本技术就是用TCP+并发 *** 作来实现的。
你自己在网上找找相应的例子吧,不太难~~
祝你学习顺利!
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <QtGui>
#include <QMouseEvent>
class MyWidget : public QWidget
{
public:
MyWidget();
void mousePressEvent(QMouseEvent event);
void mouseMoveEvent(QMouseEvent event);
void mouseReleaseEvent(QMouseEvent event);
void paintEvent(QPaintEvent event);
private:
QPoint m_PointStart;
QPoint m_PointEnd;
};
#endif // MYWIDGET_H
#include <QtGui/QApplication>
#include "mainwindowh"
#include "mywidgeth"
int main(int argc, char argv[])
{
QApplication a(argc, argv);
MyWidget widget;
widgetshow();
return aexec();
}
#include "mywidgeth"
MyWidget::MyWidget()
{
resize(240,320);
}
void MyWidget::mousePressEvent(QMouseEvent event)
{
m_PointStart = event->pos();
}
void MyWidget::mouseMoveEvent(QMouseEvent event)
{
//m_PointEnd = event->pos();
//update();
}
void MyWidget::mouseReleaseEvent(QMouseEvent event)
{
m_PointEnd = event->pos();
update();
}
void MyWidget::paintEvent(QPaintEvent event)
{
QPainter painter(this);
paintersetBrush(QBrush(QColor(255,0,0)));
painterdrawPixmap(0,0,240,320,QPixmap("images/frame1jpg"));
if(m_PointStartx() < m_PointEndx())
painterdrawPixmap(0,0,240,320,QPixmap("images/frame2jpg"));
else if(m_PointStartx() > m_PointEndx())
painterdrawPixmap(0,0,240,320,QPixmap("images/frame3jpg"));
}
在网上找到了一个很好的类子,一看就明白
转自:>
以上就是关于谁了解QT编程工具啊,麻烦比较一下全部的内容,包括:谁了解QT编程工具啊,麻烦比较一下、QT帮助文档有没有中文版,C++ GUI Qt4 编程写得实在太一般了,我已经看不下去了,打算直接看文档、ARM9,Linux系统上用QT编写步进电机控制程序的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)