Qt是一个跨平台的C++开发库,设计思想是同样的C++代码无需修改就可以在Windows,Linux,Mac OS等平台上使用。Qt原来是Trolltech公司的,后来被Nokia收购了。现在Qt已经可以开发Nokia智能移动终端的app应用程序了。今天大家介绍如何搭建Qt开发环境以及如何开发基于Nokia智能移动终端上的app应用程序。
1.在http://qt.nokia.com/downloads下载相应的Qt版本,我的是Linux/X11 32位的离线安装包Qt SDK 1.2.1,共764MB。安装Qt之前请确保磁盘至少有5G的剩余空间。
2.下载下来的是一个setup安装包,直接安装就可以。
选择Qt安装目录(强烈建议保持默认!)
点击Install开始安装:
3.接下来大家新建一个HelloWorld,它即可以在桌面OS上运行,也可以在Nokia手机上运行
打开Qt,选择“文件-->新建文件或工程”,选择"Qt Quick项目-->Qt Quick应用程序"
在项目介绍和位置中输入路径
在“Qt Quick应用类型”中选择第一项:仅限内置元素(全平台)
在目标设置中,选择前两项:桌面和Qt模拟器,最后一项Harmattan是Meego平台的,大家不需要
这样,helloworld就新建完成了。
4.点击Qt右下角,有两个Target,一个是Qt模拟器的,一个是桌面的,先选择Qt模拟器
5.然后按绿色三角,开始运行,之后就会弹出Nokia手机模拟器,打开的速度很快,比Android模拟器快多了
右边是模拟器的控制窗口,可以控制模拟器,包括手机型号,网络,传感器等
6.然后大家选择第二个Target:桌面,用同样的方法运行
注意:我没有修改任何代码,就可以运行在手机和桌面平台上了,因此说Qt是跨平台的
7.接下来大家以《C++ GUI Qt 4 编程(第二版)》一书的第一章的三个例子,介绍一下Qt编程(代码和Qt的helloworld自带的代码有较大出入,我还需要好好研究研究)
为了方便,大家不新建工程了,就在Hello World的main.cpp中修改:
第一个例子:hello
将main.cpp修改如下:
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}
程序很简单,就是显示一个Label
第二个例子:quit
将main.cpp修改如下:
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
button->show();
return app.exec();
}
按一下Quit按钮,程序就退出了。
第三个例子:age
将main.cpp修改如下:
#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget;
window->setWindowTitle("Enter Your Age");
QSpinBox *spinBox = new QSpinBox;
QSlider *slider = new QSlider(Qt::Horizontal);
spinBox->setRange(0, 130);
slider->setRange(0, 130);
QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)));
QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));
spinBox->setValue(35);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(spinBox);
layout->addWidget(slider);
window->setLayout(layout);
window->show();
return app.exec();
}
拖动滑块,左边的文本框会显示滑块当前值。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。