Qt開發①Qt的概念+發展+優點+應用+使用

目錄

1. Qt的概念和發展

1.1 Qt的概念

1.2 Qt 的發展史:

1.3 Qt 的版本

2. Qt 的優點和應用

2.1 Qt 的優點:

2.2 Qt 的應用場景

2.3 Qt 的應用案例

3. 搭建 Qt 開發環境

3.1 Qt 的開發工具

3.2 Qt SDK 的下載和安裝

3.3 Qt 環境變量配置和使用

4. 輸出HelloQt和對象樹

4.1 輸出HelloQt

4.2 對象樹

4.3 亂碼問題和qDebug

本篇完。


1. Qt的概念和發展

1.1 Qt的概念

Qt 是一個跨平臺的 C++ 圖形用戶界面應用程序框架。

????????它為應用程序開發者提供了建立藝術級圖形界面所需的所有功能。它是完全面向對象的,很容易擴展。Qt 為開發者提供了一種基于組件的開發模式,開發者可以通過簡單的拖拽和組合來實現復雜的應用程序,同時也可以使用 C++ 語言進行高級開發。

????????圖形用戶界面:指采用圖形方式顯示的計算機操作用戶界面,是計算機與其使用者之間的對話接口,是計算機系統的重要組成部分。

如下是 Android 手機圖形用戶界面和?IOS 手機圖形用戶界面:

Android 桌面應用:

IOS 桌面應用:


1.2 Qt 的發展史:

  • 1991 年 Qt 最早由奇趣科技開發;。
  • 1996 年進?商業領域,它也是目前流行的 Linux 桌面環境 KDE 的基礎。
  • 2008 年奇趣科技被諾基亞公司收購,Qt 成為諾基亞旗下的編程工具。
  • 2012 年 Qt 又被 Digia 公司收購。
  • 2014 年 4 月 跨平臺的集成開發環境 Qt Creator3.1.0 發布,同年 5 月 20 日發布了 Qt 5.3 正式版,至此 Qt 實現了對 IOS、Android、Embedded 等各平臺的全面支持。

1.3 Qt 的版本

???????Qt?目前最新的版本是 Qt 6,但是相對來說 Qt 6 和 Qt 5 之間的核心功能區別不大,并且企業中也仍然有大量的項目在使用 Qt 5。因此本博客后面也仍然使用 Qt 5 版本來進行學習。

另外 Qt 在發布的時候還提供了兩種許可證:

  • 商業許可:開發者以商業目的使用 Qt 框架進行開發和發布軟件的許可,開發者需要購買商業許可并按照相關規定使用 Qt 框架。商業許可提供了更多的功能和服務,適合于商業軟件開發。
  • 開源許可:開發者以非商業目的使用 Qt 框架進行開發和發布軟件的許可,開發者可以免費使用 Qt 框架,但需要遵守開源許可協議的要求,如在軟件中包含 Qt 許可協議的聲明等。

2. Qt 的優點和應用

2.1 Qt 的優點:

  • 跨平臺,幾乎支持所有的平臺。
  • 接口簡單,容易上手,學習 QT 框架對學習其他框架有參考意義。
  • 一定程度上簡化了內存回收機制(半自動的垃圾回收,能夠簡化內存釋放,也能夠盡可能小的影響程序的運行效率)。
  • 開發效率高,能夠快速的構建應用程序。
  • 有很好的社區氛圍,市場份額在緩慢上升。
  • 可以進行嵌入式開發。

Qt 支持的平臺:

  • Windows —— XP、Vista、Win7、Win8、Win2008、Win10 ??
  • Unix / X11 —— Linux(主要是給服務器使用,服務器不需要圖形化界面)、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多 X11 平臺
  • Macintosh —— Mac OS X
  • Embedded —— 有幀緩沖支持的嵌入式 Linux 平臺,Windows CE
  • Android

2.2 Qt 的應用場景

桌面應用程序

????????Qt 能夠創建各種類型的桌面應用程序,包括文件管理器、媒體播放器、繪圖程序等。Qt 應用程序支持多種操作系統,可以運行在 Windows、Linux、MacOS 等桌面操作系統上。

移動應用程序

????????Qt 支持 Android 和 IOS 移動操作系統,為應用程序提供了強大的跨平臺能力。可以使用?Qt 構建各種移動應用程序,例如社交應用、游戲、娛樂等。

嵌入式系統

????????Qt 在嵌入式領域應用非常廣泛,它可以構建面向各種設備的圖形應用程序,在機頂盒、車載娛樂系統、安防監控設備等領域具有廣泛的應用。

????????Qt 是一個強大且廣泛應用于跨平臺軟件開發的框架。它提供了豐富的工具和庫,可用于開發高質量、高效率的圖形用戶界面(GUI)應用程序。并且可以在 Windows、linux、macOS 等多種操作系統上運行。隨著行業的發展,Qt 的重要性也逐漸體現出來。

行業發展方向:

  • 物聯網(IoT)和嵌?式系統的發展:在當下的嵌入式和物聯網行業中,Qt 的作用逐漸得到了體現,因為可以用它來開發具有 GUI 界面的嵌入式應用程序,這對于智能家居、汽車以及醫療設備等領域來說,具有非常重要的作用。
  • 自動駕駛和智能交通領域:現在很多的汽車都引入了自動駕駛的技術,而 Qt 在其中也有著廣泛的應用,它可以開發車載嵌入式系統和用戶界面程序。隨著未來?動駕駛技術的發展,Qt 在這方面的需求也會不斷地增多。
  • 游戲開發:Qt 有一些非常重要的功能模塊,例如 Qt 3D Studio,可以應用于游戲開發。未來游戲行業的持續發展,Qt 在游戲行業的發展將會越來越多。

2.3 Qt 的應用案例

(1)Linux 桌面環境 KDE

Linux?桌面環境中存在好幾套桌面環境:

  • GNOME(基于 GTK 創建)
  • KDE(基于 Qt 創建)

(2)WPS Office 辦公軟件


(3)Skype 網絡電話

????????Skype 是一款即時通訊軟件,其具備 IM 所需的功能,比如視頻聊天、多人語音會議、多人聊天、傳送文件、文字聊天等功能。它可以高清晰與其他用戶語音對話,也可以撥打國內國際電話,無論固定電話、手機均可直接撥打,并且可以實現呼叫轉移、短信發送等功能。


(4)Google Earth 谷歌地圖


(5)VLC 多媒體播放器


(6)VirtualBox 虛擬機軟件(VirtualBox 號稱是最強的免費虛擬機軟件)


3. 搭建 Qt 開發環境

3.1 Qt 的開發工具

????????Qt 支持多種開發工具,其中比較常用的開發工具有:Qt Creator、Visual Studio、Eclipse。下面壹壹介紹。

Qt Creator

????????Qt Creator 是一個輕量級的跨平臺集成開發環境(IDE),專為使用 Qt 框架進行應用程序開發而設計。它是一個功能強大、易于使用、快速且高效的工具,被廣泛用于編寫各種類型的應用程序,如桌面應用程序、移動應用程序和嵌入式系統等。

????????Qt Creator 提供了一個可視化的界面設計器和代碼編輯器,可以幫助開發者更快捷地創建復雜的用用界面和處理各種事件。它還包含了調試工具、版本控制工具、自動完成和智能提示等功能,以及?持多語言和跨平臺的開發環境。

Qt Creator 的主要特點包括:

  • 緊密集成的 Qt 框架:Qt Creator 專門為 Qt 開發而設計,因此它與 Qt 框架集成得非常緊密,使開發者可以更容易地管理和部署他們的應用程序。
  • 強大的編輯器:Qt Creator 具有?些先進的編輯器功能,如語法高亮、代碼折疊、智能提示、自動完成和代碼重構。
  • 集成的調試器:Qt Creator 內置了調試器,允許開發人員在代碼中設置斷點以及檢查變量、堆棧和調用樹等信息。
  • 高效的構建系統:Qt Creator 提供了一個高效的構建系統,可以自動構建和部署應?程序,同時支持使用不同的編譯器和平臺。
  • 可視化界面設計器:Qt Creator 具有?個可視化界面設計器,它允許開發人員在沒有編寫代碼的情況下創建復雜的用戶界面。
  • 多語言支持:Qt Creator 支持多種編程語?,包括 C++、QML、JavaScript 等。

????????Qt Creator 是一個功能齊全易于使用高效跨平臺?IDE,適用于各種類型的應用程序開發,特別是那些使用?Qt 框架的開發者。


Visual Studio

????????Visual Studio 是由微軟公司開發的集成開發環境(IDE)。它可以用來開發多種類型的應用程序。包括 Windows 桌面應用程序、Web 應用程序、移動應用程序、游戲等。Visual Studio 提供了豐富的開發工具和功能,包括代碼編輯器、調試器、自動完成、代碼重構、版本控制等等。它支持多種編程語言,如:C++、C#、Visual Basic、F#、Python等。Visual Studio 還可以與其他開發工具和服務集成,如 Azure 云服務、GitHub、Jenkins 等。

Visual Studio 具有以下?些主要特點:

  • 多語言支持:Visual Studio 支持多種編程語言,包括 C++、C#、Visual Basic、F#、Python、JavaScript 等。
  • 豐富的工具集:VS 提供了各種開發工具,包括代碼編輯器、調試器、代碼分析工具等,以提高開發人員的效率。
  • 可視化設計:VS 提供了可視化的設計工具,如窗體設計器、WPF 設計器等,使開發人員可以直觀地設計用戶界面。
  • 跨平臺開發:VS 支持跨平臺開發,可以開發適用于 Windows、Linux 和 MacOS 等多個平臺的應用程序;
  • 集成的調試器:VS 集成了強大的調試器,可以進行代碼的單步調試、斷點調試等操作來幫助開發人員查找和修復錯誤。
  • 豐富的擴展性:VS 可以通過安裝擴展來擴展其功能,開發人員可以根據自己的需求選擇并安裝適合的擴展。

Eclipse

????????Eclipse 是著名的跨平臺的自由集成開發環境(IDE)。最初主要用來 Java 語言開發,但是目前亦有人通過插件使其作為其他計算機語言比如 C++ 和 Python 的開發工具。Eclipse 的本身只是一個框架平臺,但是眾多插件的支持使得 Eclipse 擁有其他功能相對固定的 IDE 軟件很難具有的靈活性。許多軟件開發商以 Eclipse 為框架開發自己的 IDE。Qt 框架可以與 Eclipse 集成,使開發者可以使用 Eclipse 的強大功能來開發 Qt 應用程序。


3.2 Qt SDK 的下載和安裝

Qt SDK 的下載

Qt 下載官網:Index of /archive/qt

國內清華源:Index of /qt/archive/qt/ | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror

進入官網,按如下圖示進行相應的系統版本下載即可。

打開官網鏈接

選擇需要下載的版本(我以 5.14 版本為例)

????????現在點擊之后是會出現 "Download from your IP address is not allowed",是因為 Qt5 離線安裝包目前在國內已經被墻了,下載不了,只能下載在線安裝包,直接訪問就會顯示上面的提示。(可以去網上找找資源)

選擇需要下載的版本

所選具體版本為:5.14.2

選擇 Windows 桌面應用程序

安裝注意事項:

????????選擇安裝路徑時不能出現中文路徑,否則即使安裝上也無法正常使用。如果不想注冊賬號,那就在在雙擊之前先斷網,否則需要注冊 Qt 賬號登錄后才能進入下一步安裝。

以下是本人安裝的選項:


3.3 Qt 環境變量配置和使用

(1)找到 Qt 的安裝路徑,復制 "bin" 路徑

本人是D:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin

(2)"此電腦" ——> 鼠標右鍵, "屬性" ——> "高級系統設置" ——> "環境變量",在系統變量找到Path后雙擊,復制此條路徑到里面后確定即可:

使用驗證:

????????對于Qt開發來說,使用的一個開發的環境是Qt Creator,那對于這個環境來說,下面講述一下基本的使用方式和對應的選項意義。

首先是創建一個項目,直接進行新建即可。

????????那對于新建之后的選項,就有不同的類型了,這里由于是初學,所以只選擇一個基礎的選擇,如果想要用Qt去完成一個GUI程序,那么就要選擇第一個選項,對于下面的選項也進行注釋和備注:

選擇代碼路徑后接著會有下面的界面

那么這個里面包含的這三項是什么呢?

這是一個構建系統,通過Qt寫的程序,會涉及到一系列的元編程技術,也就是說用代碼來生成代碼

????????那Qt框架在進行編譯的時候,會自動調用一系列的生成工具,基于用戶本身寫的代碼,生成一系列的其他的C++的代碼,最終進行編譯的代碼,其中也包含了這些最后生成的這些代碼,這就是構建系統

????????那在上面的這三種中,其中qmake是一個老牌的Qt構建工具,而CMake并非是Qt的專屬構建工具,許多開源項目中都會用到CMake,而最后的Qbs是一個新一代的構建工具,但是對于現在來說,使用的場景比較少

再下一個是這一步:

????????上圖所示的是,當使用Qt Creator創建項目,會自動的生成一些代碼,而此時這個生成的代碼中就會包含一個基本的列,而在這個界面選項中要選擇的就是一個自動生成的類的父類是什么。

  1. QMainWindows:這個類可以生成一個完整的應用程序窗口,包含有菜單欄,工具欄,狀態欄等。
  2. QWidget:這個類表示一個控件,也就是窗口上的一個具體的元素,例如有輸入框,按鈕,下拉框,單選按鈕,復選按鈕等等。
  3. QDialog:這個類表示的是一個對話框。

這里先選QWidget。

在Qt頁面中,內置的類都是用Q前綴開頭來表示的

關于form file:

????????這個form file在Qt框架中扮演者非常重要的角色,Qt中創建圖形化界面的程序主要有以下兩種方式:

  1. 直接通過C++代碼的方式進行創建界面。
  2. 通過form file,用圖形化的方式來生成界面,此時就可以通過這個Qt Designer或者直接使用Qt Creator來編輯這個ui文件,從而用圖形化的方式快速的方便的創建出這個圖形界面

再之后一直下一步就是關于基于哪個編譯器進行構建后續代碼。


4. 輸出HelloQt和對象樹

以下僅為簡單輸出演示,下一篇博客還有其他輸出方式。

4.1 輸出HelloQt

創建一個項目,初步使用一下QT框架:

添加下面代碼:

點擊左下角運行按鈕:


也可以雙擊:"widget.ui" 文件

拖拽控件至?ui 界面窗口并修改內容

圖形化的界面編輯器:

Qt 窗口坐標體系:

坐標體系:以左上角為原點(0,0),X 向右增加,Y 向下增加。

????????對于嵌套窗口,其坐標是相對于父窗口來說的。示例:使用 Qt 中的坐標系設置控件的位置:分別對 “按鈕” 和 widget 本身移動位置:

運行結果如下圖示:


4.2 對象樹

???????運行出了一個標簽,上面打印的是我們想要的內容,那么這也就意味著初步實現了目的,但是是否有這樣的問題: new的對象,難道不會導致內存泄漏嗎? 事實上,這個問題是存在的,但是在QT框架中已經解決了這個問題,具體的解決措施就是對象樹。

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

????????解決的方式就是,new的時候把this傳遞進去了,也就是說是把整個對象的生命周期統一交給了這個QT對象樹來進行管理,所以在這個代碼中,QT的控制下是不會造成內存泄漏的,label對象會在合適的時候進行析構,因為這個對象已經在對象樹上了

那么什么是對象樹呢?

????????在前端開發當中,也會有這樣的對象樹的概念,DOM本質上就是一個樹形結構,也就是所謂的N叉樹,通過樹形結構把界面上的元素組織起來,而在QT中也是這樣的道理,具體的可以用下面的圖來進行表示。

所以下一步,我們就創建對應的實驗過程來驗證析構的過程:

選中工程程名,鼠標右鍵 ——> "add new..."(或 “添加新文件”):

此時手動創建類的頭文件以及源文件會自動添加到目標工程中:

// mylabel.h
#ifndef MYLABEL_H
#define MYLABEL_H#include <QLabel>class MyLabel : public QLabel
{
public:MyLabel(QWidget* parent);~MyLabel();
};#endif // MYLABEL_H
// mylabel.cpp
#include "mylabel.h"
#include <iostream>MyLabel::MyLabel(QWidget* parent) : QLabel(parent)
{}MyLabel::~MyLabel()
{std::cout << "MyLabel 析構" << std::endl;
}

主程序換成mylabel:

點擊運行后關閉HelloQt界面:

雖然出現了亂碼,但析構函數還是自己被調用了。

????????對象樹確保的是先釋放子節點的內存,后釋放父節點的內存。而析構函數的調用順序則不一定遵守上述要求,因此看到子節點的析構執行順序反而在父節點析構順序之后。

注意:調用析構函數和釋放內存并非是同一件事情。


4.3 亂碼問題和qDebug

可以看到,上面的結果出現了亂碼(編碼方式不匹配)。

在計算機中,一個漢字占幾個字節?

????????針對這個問題,不能回答出一個具體的數字。需要有提前條件:當前中文編碼使用的是哪種方式(字符集)。

????????計算機存的是二進制數字。英文字母是用 ASCII 碼表表示的,規定了每個字符都有一個對應的數字來表示。

????????只是表示英文,一個字節就足夠了,畢竟英文字母數目非常有限。日常的常用漢字大概是 4k 多個,算上各自生僻字,總數差不多是 6w 左右。因為表示漢字的字符集有很多種,不同的字符集表示同一個漢字,可能使用的數字并不相同。

目前,表示漢字字符集主要是以下兩種方式

  • GBK(中國大陸),使用 2 個字節表示一個漢字。Windows 簡體中文版默認的字符集就是 BGK。
  • UTF-8 / utf8,變長編碼,表示一個符號,使用的字節數有變化(2-4),但是一般一個漢字是 3 個字節。Linux 中默認的字符集是 utf8。

????????Qt Creator 內置的終端不是 utf8 的方式來顯示字符串,且這個終端好像不能設置字符編碼。Qt 中有一個 QString,可以幫助我們自動處理編碼方式,且還提供了專門用來打印日志的工具 qDebug(),也能很好的自動處理編碼方式。

qDebug 這個宏里封裝了 QDebug 對象,可以直接使用qDebug(),可以被當作 cout 來使用。


本篇完。

下一篇是Qt開發②Qt Creator的詳細介紹和使用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895764.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895764.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895764.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mac安裝Pyspark并連接Mysql

安裝Scala, apache-spark, Hadoop brew install scala brew install apache-spark brew install hadoop pip install pyspark注意不要自己另外安裝jdk, 會造成版本對不上報錯。因為安裝apache-spark的過程中會自動安裝openjdk。 配置環境變量 JAVA_HOME/opt/homebrew/Cellar…

【Go語言快速上手】第二部分:Go語言進階之網絡編程

文章目錄 前言&#xff1a;網絡編程一、TCP/UDP 編程&#xff1a;net 包的使用1. TCP 編程1.1 TCP 服務器1.2 TCP 客戶端 2. UDP 編程2.1 UDP 服務器2.2 UDP 客戶端 二、HTTP 編程&#xff1a;net/http 包的使用&#xff0c;編寫 HTTP 服務器和客戶端2.1 HTTP 服務器2.2 HTTP 客…

王炸 用AI+飛書 分解 一鍵生成 項目計劃表模版

效果圖&#xff1a; 各字段設置&#xff1a; 以下是一個使用 AI&#xff08;DeepSeeker&#xff09; 飛書多維表格分解項目待辦模板的示例&#xff0c;你可以根據實際情況進行調整和優化&#xff1a; 列表中需要選擇對象&#xff0c;且選擇輸出結果&#xff08;記得控制字符長度…

從月牙定理看古希臘數學的奇妙突破

文章目錄 每日一句正能量前言古希臘人的 “化圓為方” 之夢&#xff08;一&#xff09;幾何作圖的基本規則&#xff08;二&#xff09;化圓為方問題的起源與發展&#xff08;三&#xff09;化圓為方的意義 月牙面積定理的誕生&#xff08;一&#xff09;希波克拉底的生平與成就…

實戰:vLLM多機多卡部署大模型

兩臺服務器 1. Docker容器中使用GPU 必須確保已安裝并配置 NVIDIA Docker。你可以安裝 nvidia-docker 來確保 GPU 驅動能夠被 Docker 使用 #安裝 nvidia-docker&#xff1a; sudo apt-get install nvidia-docker2#然后重啟 Docker&#xff1a; sudo systemctl restart docke…

LLM中種子(Seed)作用是什么:多樣性

LLM中種子(Seed)作用是什么:多樣性 目錄 LLM中種子(Seed)作用是什么:多樣性作用舉例不同種子的區別設置不同種子的原因在LLM(大語言模型)中,種子(Seed)用于初始化隨機數生成器,發揮著確保結果可重復性的關鍵作用,具體如下: 作用 當大語言模型生成文本時,很多操…

neo4j二進制部署

neo4j二進制部署 下載所需組件 jdk 17 neo4j 5.2.0 配置文件 server.default_listen_address0.0.0.0環境變量 export JAVA_HOME/usr/local/jdk-17.0.13 export CLASSPATH.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH$…

Win10環境使用零訊ZeroNews內網穿透實現Deepseek對外服務

Win10環境使用零訊ZeroNews內網穿透實現Deepseek對外服務 前言 之前筆者已經在Win10環境搭建好了Ollama、DeepSeek、Open WebUI、Dify等組件&#xff0c;成功實現了私有化部署及內網訪問&#xff1a; https://lizhiyong.blog.csdn.net/article/details/145505686 https://l…

spconv 安裝測試

pip install spconv 報錯: File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl return self._call_impl(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/mod…

MySQL 查詢緩存技術深度解析

在現代數據庫管理系統中&#xff0c;查詢性能優化是提升應用響應速度和用戶體驗的關鍵環節。MySQL 作為一款廣泛使用的開源關系型數據庫&#xff0c;提供了查詢緩存功能&#xff0c;用于緩存查詢結果&#xff0c;從而在后續相同的查詢請求時能夠快速返回結果&#xff0c;減少數…

halcon 條形碼、二維碼識別、opencv識別

一、條形碼 函數介紹 create_bar_code_model * 1.創建條碼讀取器的模板 * 參數一&#xff1a;通用參數的名稱&#xff0c;針對條形碼模型進行調整。默認值為空 * 參數二&#xff1a;針對條形碼模型進行調整 * 參數三&#xff1a;條形碼模型的句柄。 create_bar_code_model (…

一個簡潔高效的Flask用戶管理示例

Flask-Login 是 Flask 的用戶管理擴展&#xff0c;提供 用戶身份驗證、會話管理、權限控制 等功能。 適用于&#xff1a; ? 用戶登錄、登出 ? 記住用戶&#xff08;“記住我” 功能&#xff09; ? 限制未登錄用戶訪問某些頁面 ? 用戶會話管理 1. 安裝 Flask-Login pi…

HashSet 的底層原理(簡單易懂)

在 Java 集合框架中&#xff0c;HashSet 是一個非常常用的集合類&#xff0c;它提供了快速的元素查找和插入操作。那么&#xff0c;HashSet 的底層是如何實現這些高效操作的呢&#xff1f;本文將深入探討 HashSet 的底層原理。 一、HashSet 的基本概念 HashSet 是基于哈希表的…

【學習資源】時間序列數據分析方法(2)-mWDN和AutoEncoder

接著上次的【學習資源】時間序列數據分析方法&#xff08;1&#xff09;-CSDN博客&#xff0c;本次介紹mWDN和AutoEncoder 解決時序數據分類的方法。介紹模型原理、應用場景和參考代碼。也從模型性能、訓練效率、模型復雜度、計算復雜度、可解釋性、適應性和泛化能力、健壯性、…

[LeetCode力扣hot100]-鏈表

相交鏈表 160. 相交鏈表 - 力扣&#xff08;LeetCode&#xff09; 思路就是遍歷兩個鏈表&#xff0c;有相同的部分就可以視為相交。 但是長度不一樣&#xff0c;比如兩個會相交的鏈表&#xff0c;headA 的長度為 a c&#xff0c;headB 的長度為 b c&#xff0c;其中 c 是公…

JAVA EE初階 - 預備知識(四)

一、API API 即應用程序編程接口&#xff08;Application Programming Interface&#xff09;&#xff0c;是一組定義、協議和工具&#xff0c;用于不同軟件組件、應用程序或系統之間進行交互和通信。以下從多個方面詳細介紹 API&#xff1a; 基本概念 接口規范&#xff1a;A…

【TI C2000】F28002x的系統延時、GPIO配置及SCI(UART)串口發送、接收

【TI C2000】F28002x的系統延時、GPIO配置及SCI&#xff08;UART&#xff09;串口發送、接收 文章目錄 系統延時GPIO配置GPIO輸出SCI配置SCI發送、接收測試附錄&#xff1a;F28002x開發板上手、環境配置、燒錄及TMS320F280025C模板工程建立F28002x敘述燒錄SDK庫文件說明工程建…

親測有效!使用Ollama本地部署DeepSeekR1模型,指定目錄安裝并實現可視化聊天與接口調用

文章目錄 一、引言二、準備工作&#xff08;Ollama 工具介紹與下載&#xff09;2.1 Ollama介紹2.2 Ollama安裝 三、指定目錄安裝 DeepSeek R1四、Chatbox 可視化聊天搭建4.1 Chatbox下載安裝4.2 關聯 DeepSeek R1 與 Chatbox 的步驟 五、使用 Ollama 調用 DeepSeek 接口5.1 請求…

期權隱含波動率是什么意思?

財順小編本文主要介紹期權隱含波動率是什么意思&#xff1f;期權隱含波動率&#xff08;Implied Volatility&#xff09;是根據當前期權市場價格&#xff0c;利用期權定價模型&#xff08;如Black-Scholes模型&#xff09;推導出的關于合約標的理論上的價格波動率。它反映了市場…

Python 面向對象的三大特征

前言&#xff1a;本篇講解面向對象的三大特征&#xff08;封裝&#xff0c;繼承&#xff0c;多態&#xff09;&#xff0c;還有比較細致的&#xff08;類屬性類方法&#xff0c;靜態方法&#xff09;&#xff0c;分步驟講解&#xff0c;比較適合理清楚三大特征的思路 面向對象的…