欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【QT】QT从零入门教程(二):开始入门

程序员文章站 2024-01-05 14:48:28
...

配置

  第一个教程简单介绍了图像处理自编软件的基本界面和功能,本节开始讲解如何制作这个软件。首先是配置环境,博主用的是VS2017+OpenCV3.30+QT5.9.2,其他版本也可以实现,不过要注意链接依赖项的区别。网上的配置教程数不胜数,在此不赘述,QT配置可以参考VS2017专业版使用最新版Qt5.9.2教程,OpenCV配置用CMake完成。


新建项目

  文件——新建——项目——Qt GUI Application——选择路径和项目名称。

【QT】QT从零入门教程(二):开始入门

  接着默认选项。

【QT】QT从零入门教程(二):开始入门
【QT】QT从零入门教程(二):开始入门

  在这里可以选择自己想要修改的头文件名和Cpp名。

【QT】QT从零入门教程(二):开始入门

  进入页面运行无误后,就可以准备大施拳脚了。

【QT】QT从零入门教程(二):开始入门


Hello World

  如果仅仅运行个空白界面,就说成入门,可能略显尴尬。那就来个简单的小项目练练手,就以经典的Hello World 开始吧。

  先讲明几个点,编写QT程序时,运行可能会出现汉字乱码问题,解决方式是加上#pragma execution_character_set("utf-8")。QT的按钮等响应事件不同于MFC,是通过信号与槽机制实现的,原理解释在下文给出。

// 头文件
#include <QtWidgets/QMainWindow>
#include "ui_ImageProcessing.h"

class ImageProcessing : public QMainWindow
{
    Q_OBJECT

public:
    ImageProcessing(QWidget *parent = Q_NULLPTR);
    ~ImageProcessing();

    void helloWorld();     // 函数声明

private:
    Ui::ImageProcessingClass ui;

private slots:             // 槽函数
    void iSlot();
};
// cpp
#include <QMainWindow>
#include <QtGui>
#include <QtWidgets>
#include "MainWindow.h"

#pragma execution_character_set("utf-8")    // 解决汉字乱码问题,注意!!!

ImageProcessing::ImageProcessing(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    this->resize(400, 400);                 // 改变主窗口大小,后续教程中还有其他方式可以设置

    helloWorld();
}

ImageProcessing::~ImageProcessing()
{
}

void ImageProcessing::helloWorld()                   // 函数定义
{
    QPushButton *button = new QPushButton(this);    // QPushButton是QT的按钮类
    button->setText(tr("你好,QT !"));               // 按钮显示的文本
    button->move(100,100);                          // 重设按钮位置
    connect(button, SIGNAL(clicked()), this, SLOT(iSlot()));  // 连接信号与槽
}

void ImageProcessing::iSlot()                       // 槽函数
{
    QMessageBox::information(this, tr("hello"), tr("Hello World!"));
}

【QT】QT从零入门教程(二):开始入门

相关标签: QT

上一篇:

下一篇: