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

2024-08-30 19:32
文章标签 入门 qt 入门教程

本文主要是介绍【QT】QT从零入门教程(二):开始入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

配置

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


新建项目

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

  接着默认选项。


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

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


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_OBJECTpublic: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从零入门教程(二):开始入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121732

相关文章

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

史上最全MybatisPlus从入门到精通

《史上最全MybatisPlus从入门到精通》MyBatis-Plus是MyBatis增强工具,简化开发并提升效率,支持自动映射表名/字段与实体类,提供条件构造器、多种查询方式(等值/范围/模糊/分页... 目录1.简介2.基础篇2.1.通用mapper接口操作2.2.通用service接口操作3.进阶篇3

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

Qt中实现多线程导出数据功能的四种方式小结

《Qt中实现多线程导出数据功能的四种方式小结》在以往的项目开发中,在很多地方用到了多线程,本文将记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方... 目录前言导出文件的示例工具类QThreadQObject的moveToThread方法实现多线程QC

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与