Ubuntu搭建Qt开发环境

来源:互联网 发布:马赛克软件 编辑:程序博客网 时间:2024/05/19 20:39

refs:

http://blog.csdn.net/htttw/article/details/7625819


相对原文更新:

1.

在http://qt-project.org/downloads下载相应的Qt版本,我的是Qt 5.1.1 for Linux 64-bit (415 MB)(Info)


2.

下载下来的是一个安装包,

$chmod a+x qt-linux-opensource-5.1.1-x86_64-offline.run
$ ./qt-linux-opensource-5.1.1-x86_64-offline.run

直接安装就可以。如下图:




选择Qt安装目录(强烈建议保持默认!):




点击Install开始安装:








安装完成后如下所示:




打开Qt,如下图:





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修改如下:

[cpp] view plaincopy
  1. #include <QApplication>  
  2. #include <QLabel>  
  3.   
  4. int main(int argc, char *argv[])  
  5. {  
  6.   QApplication app(argc, argv);  
  7.   QLabel *label = new QLabel("Hello Qt!");  
  8.   label->show();  
  9.   
  10.   return app.exec();  
  11. }  

程序很简单,就是显示一个Label


模拟器中的运行结果:





桌面运行结果:






第二个例子:quit

将main.cpp修改如下:

[cpp] view plaincopy
  1. #include <QApplication>  
  2. #include <QPushButton>  
  3.   
  4. int main(int argc, char *argv[])  
  5. {  
  6.   QApplication app(argc, argv);  
  7.   QPushButton *button = new QPushButton("Quit");  
  8.   QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));  
  9.   button->show();  
  10.   
  11.   return app.exec();  
  12. }  


按一下Quit按钮,程序就退出了。



模拟器中的运行结果:




桌面运行结果:






第三个例子:age

将main.cpp修改如下:

[cpp] view plaincopy
  1. #include <QApplication>  
  2. #include <QHBoxLayout>  
  3. #include <QSlider>  
  4. #include <QSpinBox>  
  5.   
  6. int main(int argc, char *argv[])  
  7. {  
  8.   QApplication app(argc, argv);  
  9.   
  10.   QWidget *window = new QWidget;  
  11.   window->setWindowTitle("Enter Your Age");  
  12.   
  13.   QSpinBox *spinBox = new QSpinBox;  
  14.   QSlider *slider = new QSlider(Qt::Horizontal);  
  15.   spinBox->setRange(0, 130);  
  16.   slider->setRange(0, 130);  
  17.   
  18.   QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)));  
  19.   QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));  
  20.   spinBox->setValue(35);  
  21.   
  22.   QHBoxLayout *layout = new QHBoxLayout;  
  23.   layout->addWidget(spinBox);  
  24.   layout->addWidget(slider);  
  25.   window->setLayout(layout);  
  26.   
  27.   window->show();  
  28.   
  29.   return app.exec();  
  30. }  


拖动滑块,左边的文本框会显示滑块当前值


模拟器中的运行结果:





桌面运行结果:






完成!


原创粉丝点击