新聞中心
作為一名初學(xué)者,初學(xué)Qt編程必須得有一個(gè)指南,該指南應(yīng)該夠簡(jiǎn)明易懂并讓學(xué)習(xí)者通過(guò)易懂的指導(dǎo)了解Qt編程。對(duì)于那些對(duì)Linux開(kāi)發(fā)有著濃厚興趣的年輕開(kāi)發(fā)者,Qt是一種可以幫助你在Linux系統(tǒng)上構(gòu)建出類(lèi)似于Windows樣式的程序的編程語(yǔ)言。本篇文章旨在介紹如何利用Linux系統(tǒng)下的Qt進(jìn)行程序開(kāi)發(fā)。

Qt概述
Qt是一種跨平臺(tái)開(kāi)發(fā)框架,它可以讓開(kāi)發(fā)者們輕松地開(kāi)發(fā)各種程序界面。它是一個(gè)C++編寫(xiě)的庫(kù),使用方式與MFC十分相似。Qt 并不是只能在Linux系統(tǒng)中使用,它也能在多種系統(tǒng)平臺(tái)如Windows、OS X、iOS、Android等等都能被使用。
在Linux系統(tǒng)下,Qt的開(kāi)發(fā)環(huán)境有很多種選擇,它們都可以幫助開(kāi)發(fā)者快速的構(gòu)建出自己想要的程序。我們這里推薦使用ubuntu,它是一種十分用戶(hù)友好的Linux系統(tǒng),而且它也有一個(gè)簡(jiǎn)單易用的Qt安裝包可以直接用來(lái)進(jìn)行開(kāi)發(fā)。
安裝Qt
從Qt官網(wǎng)下載安裝包(https://download.qt.io/official_releases/qt/5.13/5.13.0/qt-opensource-linux-x64-5.13.0.run)并且在Ubuntu系統(tǒng)中進(jìn)行安裝,這個(gè)過(guò)程十分的簡(jiǎn)單。只需要運(yùn)行下載文件并進(jìn)行跟隨默認(rèn)的安裝步驟即可完成。如果你安裝過(guò)程中遇到了問(wèn)題,可以去Qt官網(wǎng)找到相應(yīng)的文檔來(lái)解決,或者在開(kāi)發(fā)者社區(qū)中求助。
編寫(xiě)之一個(gè)qt程序
我們將用一個(gè)簡(jiǎn)單的plotting程序來(lái)作為之一個(gè)qt程序的demo。這個(gè)程序可以讓我們根據(jù)一些簡(jiǎn)單的數(shù)學(xué)函數(shù)在圖形界面中顯示函數(shù)的圖像。新建一個(gè)文件夾作為你的工程位置,然后創(chuàng)建一個(gè)新的Qt Console Proejct:
1. 啟動(dòng)Qt Creator,選擇“New Project”;
2. 在左側(cè)的對(duì)話框中,選擇 “Application”->”Qt Console Application”;
3. 輸入項(xiàng)目名稱(chēng)eg.helloqt,點(diǎn)擊Next,輸入最小Qt版本號(hào)為5.0,點(diǎn)擊中介庫(kù)(所需要的庫(kù)文件,也可以手動(dòng)配置),點(diǎn)擊Next,跳過(guò)類(lèi)的選項(xiàng);
4. 點(diǎn)擊”Configure Project”,并勾選上”C++11″;
5. 由MnWindow.cpp 和 MnWindow.h 組成主要的C++代碼文件,另外有一個(gè)helloqt.pro文件控制Qt項(xiàng)目的構(gòu)建。
在這里我們定義一個(gè)Plot類(lèi)用來(lái)繪制圖形。在新項(xiàng)目的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上繪制的一個(gè)回調(diào)函數(shù)。注意,重載和重寫(xiě)pntEvent()函數(shù)是QWidget創(chuàng)建圖形用戶(hù)界面系統(tǒng)的一種最基本和常見(jiàn)的方法。
接下來(lái),在mnwindow.cpp文件中,實(shí)現(xiàn)這個(gè)函數(shù)。我們將畫(huà)這個(gè)圖:
y = x3 + x2 + 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);//把中心點(diǎn)調(diào)整到窗口正中央
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;
}
}
“`
這段代碼很簡(jiǎn)單,它首先用藍(lán)色的筆設(shè)置了繪制顏色,然后計(jì)算每個(gè)繪圖點(diǎn)的x,y值。之后,繪制一些線來(lái)連接圖像上的點(diǎn),從而畫(huà)出曲線。
修改mnwindow.cpp的mn函數(shù),將我們實(shí)現(xiàn)的Plot類(lèi)加入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()
{
}
“`
運(yùn)行程序,我們可以看到一個(gè)非常簡(jiǎn)單但卻能正常繪制出一條圖像的程序。
相關(guān)問(wèn)題拓展閱讀:
- 《Qt5編程入門(mén)》pdf下載在線閱讀,求百度網(wǎng)盤(pán)云資源
- 成為linux程序員需要學(xué)習(xí)什么
《Qt5編程入門(mén)》pdf下載在線閱讀,求百度網(wǎng)盤(pán)云資源
《Qt5編程入門(mén)》霍亞飛程梁電子書(shū)網(wǎng)盤(pán)下載免費(fèi)在線閱讀
鏈接:
密碼:mvcw
書(shū)名:Qt5編程入門(mén)
作者名:霍亞飛程梁
出版社:北京航空航天大學(xué)出版社
出版年份:
頁(yè)數(shù):388
內(nèi)容介紹:
全新,基于 Qt 5.3 編寫(xiě),全面涉及 Qt Quick;經(jīng)典,植根于 Qt 網(wǎng)絡(luò)博客教程,可無(wú)限更新;基礎(chǔ),對(duì)每個(gè)知識(shí)點(diǎn)詳盡講解,并設(shè)計(jì)了示例程序;系統(tǒng),與《Qt Creator 快速入門(mén)(第2版)》相輔相成;
作者介紹:
霍亞飛:嵌入式軟件工程師,熱愛(ài)編程,熱愛(ài)開(kāi)源!在博客中發(fā)表了大量Qt、Linux教程和開(kāi)源軟件,被眾多網(wǎng)友奉為經(jīng)典!參與創(chuàng)建Qt愛(ài)好者社區(qū),進(jìn)行Qt及開(kāi)源項(xiàng)目的推廣和普及!程梁:軟件研發(fā)工程師,關(guān)注IT技術(shù)的創(chuàng)新和改革,專(zhuān)注于Qt技術(shù)開(kāi)發(fā)教程的編寫(xiě)。建立博客,創(chuàng)作大量有創(chuàng)意、實(shí)踐性強(qiáng)的技術(shù)開(kāi)發(fā)文章,與廣大網(wǎng)友分享、互動(dòng),在網(wǎng)絡(luò)上廣受好評(píng)。致力于帶領(lǐng)廣大Qt愛(ài)好者步入Qt的精彩世界,與更多朋友分享成功的樂(lè)趣。
成為linux程序員需要學(xué)習(xí)什么
1 之一部分:LINUX平臺(tái)搭建與環(huán)境熟悉
了解Linux系統(tǒng);區(qū)分各種版本的Linux系統(tǒng),以便于拓展Linux視野。
1、Linux 簡(jiǎn)介;
2、Linux 系統(tǒng)的主要特點(diǎn);
3、Linux 的組成;
4、主要的Linux 版本;
5、嵌入式Linux簡(jiǎn)介與發(fā)展
第二部分虛擬機(jī)安裝和LINUX系統(tǒng)安裝
虛擬機(jī)安裝;
2 Linux系統(tǒng)的安裝;
3 Linux系統(tǒng)的常用軟件的安裝;
4 Linux快速入門(mén)
5 熟悉運(yùn)用Linux環(huán)境下,常用命令的操作與系統(tǒng)設(shè)置,如常用的Shell;掌握基本的Shell 應(yīng)用
6 第三部分:嵌入式LINUX環(huán)境搭建
建立嵌入式Linux開(kāi)發(fā)環(huán)神圓境
7 熟悉嵌入式開(kāi)發(fā)平臺(tái)
8 嵌入式Linux開(kāi)發(fā)工具
9 Linux下的調(diào)試技巧
10 MAKE工程管理器
11 硬件環(huán)境的搭建;arm-linux-gcc與gcc安裝配置
第四部分:U-Boot:了解 U-Boot的作用及工作流程;了解Bootloader的代碼結(jié)構(gòu)、編譯過(guò)程;移植U-Boot;掌握常用的U-Boot命令。
Bootloader介紹
u-boot工程介紹
u-boot的編譯使用
u-boot源碼分析
u-boot資源分配
配置編譯u-boot
u-boot移植過(guò)程
u-boot常用命令操作
添加u-boot新命令
設(shè)置u-boot環(huán)境變量
u-boot驅(qū)動(dòng)添加如網(wǎng)卡:DM9000
第五部分:LINUX內(nèi)核移植:熟悉內(nèi)核的原碼結(jié)構(gòu)和kbuild Makefile語(yǔ)法;掌握和內(nèi)核、驅(qū)動(dòng)模塊編譯相關(guān)的原理及方法。
1、Linux內(nèi)核介紹
2、Linux內(nèi)核特點(diǎn)
3、Linux內(nèi)核源代碼結(jié)構(gòu)
4、Linux內(nèi)核選項(xiàng)解析
5、Linux內(nèi)核編譯鏈接
6、內(nèi)核模塊編譯、使用方法
第六部分:LINUX根文件系統(tǒng)
busybox 包移植、編譯
Linux跟文件系統(tǒng)制作過(guò)程
根文件系統(tǒng)介紹
4. nfs文件服務(wù)器系統(tǒng)搭建
第七部分春蘆:LINUX驅(qū)動(dòng)開(kāi)發(fā)
驅(qū)動(dòng)開(kāi)發(fā)是嵌入式Linux開(kāi)發(fā)難度更高的內(nèi)容,也是目前嵌入式行業(yè)最緊缺的人才之一。本課程介紹嵌入式Linux驅(qū)動(dòng)開(kāi)發(fā)相關(guān)概念及開(kāi)發(fā)流程,了解驅(qū)動(dòng)開(kāi)發(fā)的關(guān)鍵技術(shù)點(diǎn),重點(diǎn)講解嵌入式Linux下常用接口驅(qū)動(dòng)的編寫(xiě)方法,包括
字符型LED驅(qū)動(dòng)開(kāi)發(fā)(GPIO口驅(qū)動(dòng))
按鍵驅(qū)動(dòng)開(kāi)發(fā)(中斷驅(qū)動(dòng),在驅(qū)動(dòng)中中斷程序的編寫(xiě),消息隊(duì)列的應(yīng)用
ADC驅(qū)動(dòng)開(kāi)發(fā)
網(wǎng)卡驅(qū)動(dòng)開(kāi)發(fā)
串口驅(qū)動(dòng)開(kāi)發(fā)
液晶屏(TFT彩屏驅(qū)動(dòng)開(kāi)發(fā)
觸摸屏驅(qū)動(dòng)+tslib(中間插件移植與設(shè)置),
USB驅(qū)動(dòng)開(kāi)發(fā)+USB無(wú)線網(wǎng)卡移植
IIS驅(qū)動(dòng)開(kāi)發(fā)+maplay移植與應(yīng)用(mp3播放)+mplayer移植與應(yīng)用(視頻播放Mp4/廣告機(jī)等播放)
SD驅(qū)動(dòng)開(kāi)發(fā)
RTC驅(qū)動(dòng)開(kāi)發(fā)
電源管理方法
第八部分:LINUX應(yīng)用學(xué)習(xí)
課程目標(biāo):嵌入式Linux應(yīng)用開(kāi)發(fā)和系統(tǒng)開(kāi)發(fā)是嵌入式Linux中最重要的一部分,也是企業(yè)人才需求最廣的一部分。主要目標(biāo)是精通嵌入式Linux下的程序設(shè)計(jì),熟練掌握嵌入式Linux的開(kāi)發(fā)環(huán)境、系統(tǒng)編程以及網(wǎng)絡(luò)編程,熟悉C++、QT編程并且深刻體會(huì)整個(gè)嵌入式Linux項(xiàng)目開(kāi)發(fā)流程,強(qiáng)化學(xué)員對(duì)Linux應(yīng)用開(kāi)發(fā)的能力.
Linux系統(tǒng)中的進(jìn)程的概念,在應(yīng)用程序中線程與父子進(jìn)程的創(chuàng)建與應(yīng)用
線程之間、進(jìn)程之間的通信
進(jìn)程間通信基本概念
管道(PIPE)
信號(hào)(SIGNAL)
內(nèi)存映射(MAPPED MEMORY)
消息隊(duì)列(MESSAGE QUEUE)
信號(hào)量(SEMAPHORE)
共享內(nèi)存(SHARE MEMORY)
tcPip協(xié)議在應(yīng)用程序中的編程開(kāi)發(fā)(SOCKET套接字編程開(kāi)發(fā))
10.1. ISO/OSI七層協(xié)議模型與IP網(wǎng)絡(luò)四層模式
10.2.TCP/IP協(xié)議簇
10.3. 基于嵌入式Linux的TCP/IP網(wǎng)絡(luò)結(jié)構(gòu)
10.4. 基于嵌入式Linux的SOCKET編程
10..5.UDP與TCP的區(qū)別
10.6. UDP SERVER-CLIENT關(guān)系程
文件讀寫(xiě)與存儲(chǔ)
第九部分:QT移植與開(kāi)發(fā)
通過(guò)本課程的學(xué)習(xí),學(xué)員能夠了解嵌入式Linux下的幾種常見(jiàn)GUI及其特點(diǎn),重點(diǎn)能掌握QT的有關(guān)內(nèi)容,具備QT程序設(shè)計(jì)能力。了解嵌扒瞎帶入式數(shù)據(jù)庫(kù)的配置與開(kāi)發(fā)
1 、嵌入式Linux GUI介紹
2、嵌入式QT開(kāi)發(fā)包移植
3、QT介紹及其信號(hào)插槽機(jī)制
4、QT圖形界面編程技術(shù)
5、QT應(yīng)用程序與Linux驅(qū)動(dòng)的銜接
6、QT在實(shí)際項(xiàng)目中具體應(yīng)用
第十部分:無(wú)線通訊應(yīng)用
1、無(wú)線wifi模塊應(yīng)用
2、3G模塊應(yīng)用
第十一部分:嵌入式系統(tǒng)應(yīng)用程序,驅(qū)動(dòng)程序調(diào)試
1、Linux基本工具調(diào)試使用。GDB,insight調(diào)試等
2、Linux應(yīng)用程序的編程
3、嵌入式產(chǎn)品程序打包與發(fā)布
第十二部分:嵌入式項(xiàng)目綜合調(diào)試,產(chǎn)品發(fā)布
本課程將通過(guò)一個(gè)真實(shí)完整的項(xiàng)目案例,讓學(xué)員了解真實(shí)項(xiàng)目的開(kāi)發(fā)流程,掌握如何將所學(xué)知識(shí)應(yīng)用到項(xiàng)目開(kāi)發(fā)中。將模擬真實(shí)項(xiàng)目的管理過(guò)程,培養(yǎng)學(xué)員項(xiàng)目團(tuán)隊(duì)協(xié)同開(kāi)發(fā)能力,項(xiàng)目文檔編寫(xiě)能力和新知識(shí)的學(xué)習(xí)能力,為下一步就業(yè)做好知識(shí)上和心理上的充分準(zhǔn)備。
成為L(zhǎng)inux程序薯磨員需要掌數(shù)歷斗握6大類(lèi)Linux知識(shí),主要包括Linux基礎(chǔ)、綜合架構(gòu)、Shell編程、數(shù)據(jù)庫(kù)爛凱、云計(jì)算和網(wǎng)絡(luò)安全等,想學(xué)Linux,可以重點(diǎn)學(xué)習(xí)這幾部分知識(shí)!
先看《鳥(niǎo)哥的Linux私房菜》《Linux就該這樣學(xué)》
掌握LINUX基本使用
然后,C++語(yǔ)言肯定是要學(xué)賣(mài)前的,看《C++ Primer》,一點(diǎn)基礎(chǔ)也巧乎沒(méi)有的話看《C++ Primer Plus》
然后看《UNIX高級(jí)編程》。
這些看完了你也知道你孝配悉該看什么了
linux下qt編程入門(mén)教程的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux下qt編程入門(mén)教程,簡(jiǎn)明易懂的Linux下Qt編程入門(mén)指南,《Qt5編程入門(mén)》pdf下載在線閱讀,求百度網(wǎng)盤(pán)云資源,成為linux程序員需要學(xué)習(xí)什么的信息別忘了在本站進(jìn)行查找喔。
成都服務(wù)器托管選創(chuàng)新互聯(lián),先上架開(kāi)通再付費(fèi)。
創(chuàng)新互聯(lián)(www.cdcxhl.com)專(zhuān)業(yè)-網(wǎng)站建設(shè),軟件開(kāi)發(fā)老牌服務(wù)商!微信小程序開(kāi)發(fā),APP開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站營(yíng)銷(xiāo)推廣服務(wù)眾多企業(yè)。電話:028-86922220
新聞名稱(chēng):簡(jiǎn)明易懂的Linux下Qt編程入門(mén)指南 (linux下qt編程入門(mén)教程)
轉(zhuǎn)載注明:http://www.fisionsoft.com.cn/article/dhhecsg.html


咨詢(xún)
建站咨詢(xún)
