Qt的第一个程序

开发第一个Qt程序:

在学习完C++ primer plus 后再来看Qt就十分简单了。
博主按照惯例,先来一个hello Qt!

修改mainwinndow.h添加一个QLabel的定义

  

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    #include <QMainWindow>
    #include <QLabel>
    namespace Ui {
    class MainWindow;
    }
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    private:
        Ui::MainWindow *ui;
        QLabel * label ;
    };
    #endif // MAINWINDOW_H



修改mainwinndow.h实现QLabel:

  

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        label = new QLabel ;
        label->setText("hello Qt!");
        label->show();
    }
    MainWindow::~MainWindow()
    {
        delete ui;
        delete label;
    }

接着博主就直接build run生成程序了,但却出了两个错误!!!

Screenshot from 2018-07-03 19-59-05.png第一个:   工程名为first,但这个词已被makefile使用,所以工程名不能为first
第二个:  没有安装opengpl:

    解决方法:
    这是由于 Qt5.0 默认将OpenGL加入了工程,但是在机器上没有安装OpenGL,所以jonas只需要在机器上安装OpenGL即可 。

    安装建立基本编译环境
    首先不可或缺的,就是编译器与基本的函式库,如果系统没有安装的话,请依照下面的方式安装:
    $ sudo apt-get install build-essential

    安装OpenGL Library
    接下来要把我们会用到的 Library 装上去,首先安装 OpenGL Library

    $sudo apt-get install libgl1-mesa-dev

    到以上这一步为止就可以运行 qt5.0 的工程了,之后的命令只是为了jonas方便以后学习OpenGL而安装。

    安装OpenGL Utilities
    OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函式,使 OpenGL 更强大且更容易使用。接下来我们安装OpenGL Utilities

    $sudo apt-get install libglu1-mesa-dev
    我运行到这一步再去编译,就不会出现这个错误了。
    安装OpenGL Utility Toolkit
    OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。

    $sudo apt-get install libglut-dev

    注意在这一步的时候,可能会出现以下情况,
    shell提示:正在读取软件包列表... 完成正在分析软件包的依赖关系树       
    正在读取状态信息... 完成      
     E: 未发现软件包 libglut-dev如果出现上述情况
    请输入将上述$sudo apt-get install libglut-dev命令改成$sudo apt-get install freeglut3-dev就行。

    解决方法的原文章:
    https://blog.csdn.net/abc87891842/article/details/54891137

最后:

Screenshot from 2018-07-03 20-06-38.png



猜你喜欢

转载自blog.51cto.com/13824643/2135748