简明易懂的Linux下Qt编程入门指南 (linux下qt编程入门教程)

作为一名初学者,初学Qt编程必须得有一个指南,该指南应该够简明易懂并让学习者通过易懂的指导了解Qt编程。对于那些对Linux开发有着浓厚兴趣的年轻开发者,Qt是一种可以帮助你在Linux系统上构建出类似于Windows样式的程序的编程语言。本篇文章旨在介绍如何利用Linux系统下的Qt进行程序开发。

Qt概述

Qt是一种跨平台开发框架,它可以让开发者们轻松地开发各种程序界面。它是一个C++编写的库,使用方式与MFC十分相似。Qt 并不是只能在Linux系统中使用,它也能在多种系统平台如Windows、OS X、iOS、Android等等都能被使用。

在Linux系统下,Qt的开发环境有很多种选择,它们都可以帮助开发者快速的构建出自己想要的程序。我们这里推荐使用ubuntu,它是一种十分用户友好的Linux系统,而且它也有一个简单易用的Qt安装包可以直接用来进行开发。

安装Qt

从Qt官网下载安装包(https://download.qt.io/official_releases/qt/5.13/5.13.0/qt-opensource-linux-x64-5.13.0.run)并且在Ubuntu系统中进行安装,这个过程十分的简单。只需要运行下载文件并进行跟随默认的安装步骤即可完成。如果你安装过程中遇到了问题,可以去Qt官网找到相应的文档来解决,或者在开发者社区中求助。

编写之一个qt程序

我们将用一个简单的plotting程序来作为之一个qt程序的demo。这个程序可以让我们根据一些简单的数学函数在图形界面中显示函数的图像。新建一个文件夹作为你的工程位置,然后创建一个新的Qt Console Proejct:

1. 启动Qt Creator,选择“New Project”;

2. 在左侧的对话框中,选择 “Application”->”Qt Console Application”;

3. 输入项目名称eg.helloqt,点击Next,输入最小Qt版本号为5.0,点击中介库(所需要的库文件,也可以手动配置),点击Next,跳过类的选项;

4. 点击”Configure Project”,并勾选上”C++11″;

5. 由MnWindow.cpp 和 MnWindow.h 组成主要的C++代码文件,另外有一个helloqt.pro文件控制Qt项目的构建。

在这里我们定义一个Plot类用来绘制图形。在新项目的mnwindow.h文件中,输入以下代码:

“`

#include

#include

#include

class Plot : public QWidget {

public:

explicit Plot(QWidget* parent = nullptr);

protected:

void pntEvent(QPntEvent* event) override;

};

“`

我们需要继承自QWidget,这样我们就能够使用QWidget的方法直接在widget上绘制图形。PntEvent是在widget上绘制的一个回调函数。注意,重载和重写pntEvent()函数是QWidget创建图形用户界面系统的一种最基本和常见的方法。

接下来,在mnwindow.cpp文件中,实现这个函数。我们将画这个图:

y = x³ + x² + x (x从-1到1)

“`

#include “mnwindow.h”

#include

#include

Plot::Plot(QWidget* parent)

:QWidget(parent){}

void Plot::pntEvent(QPntEvent* /* event */) {

QPnter pnter(this);

pnter.setPen(QPen(Qt::blue,2));

pnter.setBrush(Qt::NoBrush);

double x,y,xPrev,yPrev;

const int width = this->width();

const int height = this->height();

const double xScale = width/2.0;

const double yScale = height/2.0;

pnter.translate(width/2,height/2);//把中心点调整到窗口正中央

xPrev = -1.0;

yPrev = xPrev*xPrev*xPrev+xPrev*xPrev+xPrev;

for(x=-1.0;x

{

y=x*x*x+x*x+x;

pnter.drawLine(QPointF(xPrev*xScale,-yPrev*yScale),

QPointF(x*xScale,-y*yScale));

xPrev = x;

yPrev = y;

}

}

“`

这段代码很简单,它首先用蓝色的笔设置了绘制颜色,然后计算每个绘图点的x,y值。之后,绘制一些线来连接图像上的点,从而画出曲线。

修改mnwindow.cpp的mn函数,将我们实现的Plot类加入widget中,使之显示在屏幕上。把代码改成下面这样:

“`

#include “mnwindow.h”

#include “ui_mnwindow.h”

#include

#include

MnWindow::MnWindow(QWidget *parent) :

QMnWindow(parent)

{

auto widget = new QWidget;

auto layout = new QVBoxLayout;

auto plot = new Plot;

layout->addWidget(plot);

widget->setLayout(layout);

setCentralWidget(widget);

}

MnWindow::~MnWindow()

{

}

“`

运行程序,我们可以看到一个非常简单但却能正常绘制出一条图像的程序。

相关问题拓展阅读:

《Qt5编程入门》pdf下载在线阅读,求百度网盘云资源

《Qt5编程入门》霍亚飞程梁电子书网盘下载免费在线阅读    

链接:

密码:mvcw    

书名:Qt5编程入门

作者名:霍亚飞程梁

出版社:北京航空航天大学出版社

出版年份:

页数:388

内容介绍:

全新,基于 Qt 5.3 编写,全面涉及 Qt Quick;经典,植根于 Qt 网络博客教程,可无限更新;基础,对每个知识点详尽讲解,并设计了示例程序;系统,与《Qt Creator 快速入门(第2版)》相辅相成;

作者介绍:

霍亚飞:嵌入式软件工程师,热爱编程,热爱开源!在博客中发表了大量Qt、Linux教程和开源软件,被众多网友奉为经典!参与创建Qt爱好者社区,进行Qt及开源项目的推广和普及!程梁:软件研发工程师,关注IT技术的创新和改革,专注于Qt技术开发教程的编写。建立博客,创作大量有创意、实践性强的技术开发文章,与广大网友分享、互动,在网络上广受好评。致力于带领广大Qt爱好者步入Qt的精彩世界,与更多朋友分享成功的乐趣。

成为linux程序员需要学习什么

1 之一部分:LINUX平台搭建与环境熟悉 

了解Linux系统;区分各种版本的Linux系统,以便于拓展Linux视野。

1、Linux 简介;

2、Linux 系统的主要特点;

3、Linux 的组成;

4、主要的Linux 版本;

5、嵌入式Linux简介与发展

第二部分虚拟机安装和LINUX系统安装 

虚拟机安装;

2 Linux系统的安装;

3 Linux系统的常用软件的安装;

4 Linux快速入门

5 熟悉运用Linux环境下,常用命令的操作与系统设置,如常用的Shell;掌握基本的Shell 应用

6 第三部分:嵌入式LINUX环境搭建 

建立嵌入式Linux开发环神圆境

7 熟悉嵌入式开发平台

8 嵌入式Linux开发工具

9 Linux下的调试技巧

10 MAKE工程管理器

11 硬件环境的搭建;arm-linux-gcc与gcc安装配置

第四部分:U-Boot:了解 U-Boot的作用及工作流程;了解Bootloader的代码结构、编译过程;移植U-Boot;掌握常用的U-Boot命令。 

Bootloader介绍

u-boot工程介绍

u-boot的编译使用

u-boot源码分析

u-boot资源分配

配置编译u-boot

u-boot移植过程

u-boot常用命令操作

添加u-boot新命令

设置u-boot环境变量

u-boot驱动添加如网卡:DM9000

第五部分:LINUX内核移植:熟悉内核的原码结构和kbuild Makefile语法;掌握和内核、驱动模块编译相关的原理及方法。

1、Linux内核介绍

2、Linux内核特点

3、Linux内核源代码结构

4、Linux内核选项解析

5、Linux内核编译链接

6、内核模块编译、使用方法

第六部分:LINUX根文件系统

busybox 包移植、编译

Linux跟文件系统制作过程

根文件系统介绍

4. nfs文件服务器系统搭建

第七部分春芦:LINUX驱动开发

驱动开发是嵌入式Linux开发难度更高的内容,也是目前嵌入式行业最紧缺的人才之一。本课程介绍嵌入式Linux驱动开发相关概念及开发流程,了解驱动开发的关键技术点,重点讲解嵌入式Linux下常用接口驱动的编写方法,包括

字符型LED驱动开发(GPIO口驱动)

按键驱动开发(中断驱动,在驱动中中断程序的编写,消息队列的应用

ADC驱动开发

网卡驱动开发

串口驱动开发

液晶屏(TFT彩屏驱动开发

触摸屏驱动+tslib(中间插件移植与设置),

USB驱动开发+USB无线网卡移植

IIS驱动开发+maplay移植与应用(mp3播放)+mplayer移植与应用(视频播放Mp4/广告机等播放)

SD驱动开发

RTC驱动开发

电源管理方法

第八部分:LINUX应用学习

课程目标:嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。主要目标是精通嵌入式Linux下的程序设计,熟练掌握嵌入式Linux的开发环境、系统编程以及网络编程,熟悉C++、QT编程并且深刻体会整个嵌入式Linux项目开发流程,强化学员对Linux应用开发的能力.

Linux系统中的进程的概念,在应用程序中线程与父子进程的创建与应用

线程之间、进程之间的通信

进程间通信基本概念

管道(PIPE)

信号(SIGNAL)

内存映射(MAPPED MEMORY)

消息队列(MESSAGE QUEUE)

信号量(SEMAPHORE)

共享内存(SHARE MEMORY)

tcPip协议在应用程序中的编程开发(SOCKET套接字编程开发)

10.1. ISO/OSI七层协议模型与IP网络四层模式

10.2.TCP/IP协议簇

10.3. 基于嵌入式Linux的TCP/IP网络结构

10.4. 基于嵌入式Linux的SOCKET编程

10..5.UDP与TCP的区别

10.6. UDP SERVER-CLIENT关系程

文件读写与存储

第九部分:QT移植与开发

通过本课程的学习,学员能够了解嵌入式Linux下的几种常见GUI及其特点,重点能掌握QT的有关内容,具备QT程序设计能力。了解嵌扒瞎带入式数据库的配置与开发

1 、嵌入式Linux GUI介绍

2、嵌入式QT开发包移植

3、QT介绍及其信号插槽机制

4、QT图形界面编程技术

5、QT应用程序与Linux驱动的衔接

6、QT在实际项目中具体应用

第十部分:无线通讯应用

1、无线wifi模块应用

2、3G模块应用

  第十一部分:嵌入式系统应用程序,驱动程序调试

1、Linux基本工具调试使用。GDB,insight调试等

2、Linux应用程序的编程

3、嵌入式产品程序打包与发布

  第十二部分:嵌入式项目综合调试,产品发布

本课程将通过一个真实完整的项目案例,让学员了解真实项目的开发流程,掌握如何将所学知识应用到项目开发中。将模拟真实项目的管理过程,培养学员项目团队协同开发能力,项目文档编写能力和新知识的学习能力,为下一步就业做好知识上和心理上的充分准备。

成为Linux程序薯磨员需要掌数历斗握6大类Linux知识,主要包括Linux基础、综合架构、Shell编程、数据库烂凯、云计算和网络安全等,想学Linux,可以重点学习这几部分知识!

先看《鸟哥的Linux私房菜》《Linux就该这样学》

掌握LINUX基本使用

然后,C++语言肯定是要学卖前的,看《C++ Primer》,一点基础也巧乎没有的话看《C++ Primer Plus》

然后看《UNIX高级编程》。

这些看完了你也知道你孝配悉该看什么了

linux下qt编程入门教程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux下qt编程入门教程,简明易懂的Linux下Qt编程入门指南,《Qt5编程入门》pdf下载在线阅读,求百度网盘云资源,成为linux程序员需要学习什么的信息别忘了在本站进行查找喔。


数据运维技术 » 简明易懂的Linux下Qt编程入门指南 (linux下qt编程入门教程)