最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

QT使用QSS進(jìn)行界面美化的完整步驟記錄

 更新時(shí)間:2025年08月08日 09:26:03   作者:戴墨鏡的恐龍  
qss樣式表和css層疊樣式表是差不多的東西,都是用于設(shè)置QT程序UI界面中控件的背景圖片、大小、字體顏色、字體類型、按鈕狀態(tài)變化等屬性,這篇文章主要介紹了QT使用QSS進(jìn)行界面美化的相關(guān)資料,需要的朋友可以參考下

1. QSS

在網(wǎng)頁(yè)前端開發(fā)領(lǐng)域中,CSS 是?個(gè)?關(guān)重要的部分. 描述了?個(gè)網(wǎng)頁(yè)的 “樣式”,從而起到對(duì)網(wǎng)頁(yè)美化的作用.

所謂樣式, 包括不限于大小、位置、顏?、背景、間距、字體等等.

網(wǎng)頁(yè)開發(fā)作為 GUI 的典型代表,也對(duì)于其他客?端 GUI 開發(fā)產(chǎn)?了影響,Qt 也是其中之?.

1.1 基本語法

Qt 仿照 CSS 的模式,引?了 QSS,來對(duì) Qt 中的控件做出樣式上的設(shè)定,從而允許程序猿寫出界?更好看的代碼

由于 Qt 本身的設(shè)計(jì)理念和網(wǎng)頁(yè)前端還是存在?定差異的,因此 QSS 中只能?持部分 CSS 屬性;整體來說 QSS 要比 CSS 更簡(jiǎn)單?些

注意:如果通過 QSS 設(shè)置的樣式和通過 C++ 代碼設(shè)置的樣式?jīng)_突,則 QSS 優(yōu)先級(jí)更?

對(duì)于 CSS 來說, 基本的語法結(jié)構(gòu)?常簡(jiǎn)單.

選擇器 {
	屬性名: 屬性值;
}

QSS 沿?了這樣的設(shè)定.

選擇器 {
	屬性名: 屬性值;
}
  • 選擇器 描述了 “哪個(gè) widget 要應(yīng)用樣式規(guī)則”
  • 屬性 則是?個(gè)鍵值對(duì),屬性名表?要設(shè)置哪種樣式,屬性值表?了設(shè)置的樣式的值.
QPushButton {
	color: red;
}

上述代碼的含義表示,針對(duì)界?上所有的 QPushButton,都把文本顏色設(shè)置為紅色

1.2 設(shè)置方式

1.2.1 指定控件樣式設(shè)置

QWidget 中包含了 setStyleSheet 方法,可以直接設(shè)置樣式.

給指定控件設(shè)置樣式之后,該控件的子元素也會(huì)受到影響.

Widget::Widget(QWidget *parent)
	: QWidget(parent)
	, ui(new Ui::Widget)
{
	ui->setupUi(this);
	// 給 Widget 本?設(shè)置樣式.
	//樣式對(duì)于子控件同樣生效
	this->setStyleSheet("QPushButton { color: red;} ");
	
	//ui->pushButton->setStyleSheet("QPushButton { color: red; }");
}

1.2.2 全局樣式設(shè)置

還可以通過 QApplicationsetStyleSheet ?法設(shè)置整個(gè)程序的全局樣式.

全局樣式優(yōu)點(diǎn):

  • 使同?個(gè)樣式針對(duì)多個(gè)控件?效,代碼更簡(jiǎn)潔.
  • 所有控件樣式內(nèi)聚在?起,便于維護(hù)和問題排查.

在 CSS 中也存在類似的優(yōu)先級(jí)規(guī)則,通常來說都是 “局部” 優(yōu)先級(jí)?于 “全局” 優(yōu)先級(jí); 相當(dāng)于全局樣式先 “奠定基調(diào)” ,再通過指定控件樣式來 “特事特辦”

對(duì)于第?個(gè)按鈕來說,由于局部樣式的存在,它的顏色為綠色;對(duì)于第二個(gè)按鈕,兩種設(shè)置方式設(shè)置的樣式,疊加起來了,形如上述這種屬性疊加的效果,我們稱為 “層疊性”.

1.2.3 從文件加載樣式表

上述代碼都是把樣式通過硬編碼的方式設(shè)置的,這樣使 QSS 代碼和 C++ 代碼耦合在?起了,并不方便代碼的維護(hù),因此更好的做法是把樣式放到單獨(dú)的文件中,然后通過讀取文件的方式來加載樣式。

創(chuàng)建 style.qss 文件,并添加到 resource.qrc 中.

  • style.qss 是需要程序運(yùn)?時(shí)加載的,為了規(guī)避絕對(duì)路徑的問題,仍然使用 qrc 的?式來組織 (即把資源?件內(nèi)容打包到 cpp 代碼中).
  • Qt Creator 沒有提供創(chuàng)建 qss 文件的選項(xiàng),咱們直接 右鍵 -> 新建?件 -> ?動(dòng)設(shè)置?件擴(kuò)展名為 qss 即可.

1.2.4 使用 Qt Designer 編輯樣式

QSS 也可以通過 Qt Designer 直接編輯,從而起到實(shí)時(shí)預(yù)覽的效果. 同時(shí)也能避免 C++ 和 QSS 代碼的耦合.

此時(shí) Qt Designer 的預(yù)覽界?就會(huì)實(shí)時(shí)顯示出樣式的變化

當(dāng)我們發(fā)現(xiàn)?個(gè)控件的樣式不符合預(yù)期的時(shí)候, 要記得排查這四個(gè)地?:

  • 全局樣式
  • 指定控件樣式
  • qss ?件中的樣式
  • ui ?件中的樣式

2. 選擇器

QSS 的選擇器支持以下幾種:

選擇器示例說明
全局選擇器*選擇所有的 widget.
類型選擇器QPushButton選擇所有的 QPushButton 和 其?類 的控件
類選擇器.QPushButton選擇所有的 QPushButton 的控件,不會(huì)選擇?類.
ID 選擇器#pushButton_2選擇 objectName 為 pushButton_2 的控件
后代選擇器QDialog QPushButton選擇 QDialog 的所有后代(?控件, 孫?控件等等) 中的 QPushButton
?選擇器QDialog > QPushButton選擇 QDialog 的所有?控件中的 QPushButton.
并集選擇器QPushButton, QLineEdit, QComboBoxQPushButton, QLineEdit, QComboBox
屬性選擇器QPushButton[flat=“false”]選擇所有 QPushButton 中,flat 屬性為 false 的控件.

2.1 類型與類選擇器

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	//類型選擇器,設(shè)置全局樣式
	a.setStyleSheet("QWidget { color: red; }");
	//類選擇器
	//只是選擇 QWidget類, ?不會(huì)選擇QWidget 的?類 QPushButton了
	a.setStyleSheet(".QWidget { color: green; }");
	Widget w;
	w.show();
	return a.exec();
}

2.2 id選擇器

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	// 設(shè)置全局樣式
	QString style = "";
	//類型選擇器
	style += "QPushButton { color: yellow; }";
	//ID選擇器
	style += "#pushButton { color: red; }";
	style += "#pushButton_2 { color: green; }";
	a.setStyleSheet(style);
	Widget w;
	w.show();
	return a.exec();
}

當(dāng)某個(gè)控件身上,通過類型選擇器和 ID 選擇器設(shè)置了沖突的樣式時(shí),ID 選擇器樣式優(yōu)先級(jí)更?.

同理,如果是其他的多種選擇器作?同?個(gè)控件時(shí)出現(xiàn)沖突的樣式,也會(huì)涉及到優(yōu)先級(jí)問題.

實(shí)踐中我們可以簡(jiǎn)單的認(rèn)為,選擇器描述的范圍越精準(zhǔn),則優(yōu)先級(jí)越?,?般來說,ID 選擇器優(yōu)先級(jí)是最?的.

2.3 并集選擇器

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	// 設(shè)置全局樣式
	a.setStyleSheet("QPushButton, QLabel, QLineEdit { color: red; } ");
	Widget w;
	w.show();
	return a.exec();
}

運(yùn)行程序,可以看到這三種控件的文字顏?都設(shè)置為了紅色

并集選擇器是?種很好的代碼復(fù)用的?式,很多時(shí)候我們希望界?上的多個(gè)元素?格是統(tǒng)?的,就可以使?并集選擇器,把樣式屬性同時(shí)指定給多種控件

2.4 子控件選擇器

有些控件內(nèi)部包含了多個(gè) “子控件” ,比如 QComboBox 的下拉后的?板,?如 QSpinBox 的上下按鈕等

可以通過子控件選擇器 :: ,針對(duì)上述?控件進(jìn)?樣式設(shè)置.

也可直接在Qt Designer中右側(cè)的屬性編輯器設(shè)置

2.5 偽類選擇器

偽類選擇器,是根據(jù)控件所處的某個(gè)狀態(tài)被選擇的,例如按鈕被按下,輸?框獲取到焦點(diǎn),?標(biāo)移動(dòng)到某個(gè)控件上等.

  • 當(dāng)狀態(tài)具備時(shí),控件被選中,樣式?效.
  • 當(dāng)狀態(tài)不具備時(shí),控件不被選中,樣式失效.

使? : 的方式定義偽類選擇器

常用的偽類選擇器

偽類選擇器說明
:hover?標(biāo)放到控件上
:pressed?標(biāo)左鍵按下時(shí)
:focus獲取輸?焦點(diǎn)時(shí)
:enabled元素處于可?狀態(tài)時(shí)
:checked被勾選時(shí)
:read-only元素為只讀狀態(tài)時(shí)

這些狀態(tài)可以使? ! 來取反. ?如 :!hover 就是?標(biāo)離開控件時(shí), :!pressed 就是鼠標(biāo)松開時(shí), 等等.

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QString style = "";
    style += "QPushButton { color: red; }";
    style += "QPushButton:hover { color: green; }";
    style += "QPushButton:pressed { color: blue; }";
    a.setStyleSheet(style);
    Widget w;
    w.show();
    return a.exec();
}

可以看到,默認(rèn)情況下按鈕?字是紅?,?標(biāo)移動(dòng)上去是綠?,?標(biāo)按下按鈕是藍(lán)?.

3. 樣式屬性

3.1 盒模型

?個(gè)遵守盒模型的控件,由上述幾個(gè)部分構(gòu)成

  • Content 矩形區(qū)域:存放控件內(nèi)容,比如包含的文本/圖標(biāo)等.
  • Border 矩形區(qū)域: 控件的邊框.
  • Padding 矩形區(qū)域: 內(nèi)邊距,邊框和內(nèi)容之間的距離.
  • Margin 矩形區(qū)域: 外邊距,邊框到控件 geometry 返回的矩形邊界的距離

默認(rèn)情況下,外邊距、內(nèi)邊距、邊框?qū)挾榷际?0

可以通過?些 QSS 屬性來設(shè)置上述的邊距和邊框的樣式

QSS 屬性說明
margin設(shè)置四個(gè)?向的外邊距,復(fù)合屬性.
padding設(shè)置四個(gè)?向的內(nèi)邊距. 復(fù)合屬性.
border-style設(shè)置邊框樣式
border-width邊框的粗細(xì)
border-color邊框的顏?
border復(fù)合屬性,相當(dāng)于 border-style + border-width + border-color

下面,我們來設(shè)置一下邊框樣式與內(nèi)邊距

其中,border:5px solid red,相當(dāng)于 border-width: 5px; border-style: solid; border-color: red;(一般按照 寬度 → 樣式 → 顏色的順序書寫,其它方式可能會(huì)解析失?。?/p>

再來設(shè)置一下外邊距

其中,margin的可以寫多個(gè),順序是:上-> 右 -> 下-> 左

3.2 控件常用樣式

下?,我們給出?些常用控件的樣式示例

按鈕

復(fù)選框

使用藍(lán)色作為默認(rèn)形態(tài).
使用綠色作為 hover 形態(tài).
使用紅色作為 pressed 形態(tài).

單選框也是如此,這里就不演示了

要點(diǎn)說明
::indicator?控件選擇器. 選中 checkbox 中的對(duì)鉤部分
width設(shè)置?控件寬度,對(duì)于普通控件?效 (普通控件使? geometry ?式設(shè)定尺?).
height設(shè)置?控件?度. 對(duì)于普通控件?效
image設(shè)置?控件的圖?.

輸入框

屬性說明
border-width設(shè)置邊框?qū)挾?
border-radius設(shè)置邊框圓?
border-color設(shè)置邊框顏?
border-style設(shè)置邊框?格.
color設(shè)置?字顏?.
background設(shè)置背景顏?.
selection-background-color設(shè)置選中?字的背景顏?
selection-color設(shè)置選中?字的?本顏?…

關(guān)于顏色,其中有一個(gè)屬性 qlineargradient qlineargradient 有 6 個(gè)參數(shù):

  • x1, y1: 標(biāo)注了?個(gè)起點(diǎn),
  • x2, y2: 標(biāo)注了?個(gè)終點(diǎn),這兩個(gè)點(diǎn)描述了?個(gè) “方向”,例如:
    • x1: 0, y1: 0, x2: 0, y2: 1 就是垂直?向從上向下 進(jìn)?顏?漸變.
    • x1: 0, y1: 0, x2: 1, y2: 0 就是?平?向從左向右 進(jìn)?顏?漸變.
    • x1: 0, y1: 0, x2: 1, y2: 1 就是從左上往右下?向 進(jìn)?顏?漸變.
  • stop0 和 stop1 描述了兩個(gè)顏?. 漸變過程就是從 stop0 往 stop1 進(jìn)?漸變的.

菜單欄

對(duì)于菜單欄而言,它可以分為菜單欄與菜單項(xiàng),它們各自有不同的樣式:

屬性說明
QMenuBar::item選中菜單欄中的元素
QMenuBar::item:selected選中菜單來中的被選中的元素.
QMenuBar::item:pressed選中菜單欄中的?標(biāo)點(diǎn)擊的元素.
QMenu::item選中菜單中的元素
QMenu::item:selected選中菜單中的被選中的元素.
QMenu::separator選中菜單中的分割線.

下面,我們就做一個(gè)樣式稍微綜合一點(diǎn)的案例:登錄界面

首先,我們先使用Qt Designer拖拽出來幾個(gè)控件,然后使用布局布局管理器來設(shè)置一下

由于頂層窗?的 QWidget ?法設(shè)置背景圖?, 因此我們需要再套上?層 QFrame,背景圖?就可以設(shè)置到 QFrame 上即可

設(shè)置背景圖片,出來使用background-image之外,還有一個(gè)border-image,其中,border-image設(shè)置的背景,會(huì)隨著控件的大小而改變

QSS 本?給 Qt 提供了更豐富的樣式設(shè)置的能力,但是整體來說 QSS 的功能是不如 CSS 的,在 CSS 中,整個(gè)網(wǎng)頁(yè)的樣式,都是 CSS ?手負(fù)責(zé),CSS 功能更強(qiáng)大,并且也更可控。

相比之下,Qt 中是以原? api 為主,來控制控件之間的尺?、位置等,QSS 只是起到輔助的作?;?且 Qt 中提供的?些 “組合控件” (像 QComboBox, QSpinBox 等) 內(nèi)部的結(jié)構(gòu)是不透明的,此時(shí)進(jìn)??些樣式設(shè)置也會(huì)存在?定的局限性

4. 繪圖

雖然 Qt 已經(jīng)內(nèi)置了很多的控件,但是不能保證現(xiàn)有控件就可以應(yīng)對(duì)所有場(chǎng)景,很多時(shí)候我們需要更強(qiáng)的 “?定制” 能力。

Qt 提供了畫圖相關(guān)的 API,可以允許我們?cè)诖?上繪制任意的圖形形狀,來完成更復(fù)雜的界?設(shè)計(jì).

所謂的 “控件” ,本質(zhì)上也是通過畫圖的?式畫上去的,畫圖 API 和控件之間的關(guān)系,可以類?成機(jī)器指令和?級(jí)語?之間的關(guān)系。
控件是對(duì)畫圖 API 的進(jìn)?步封裝,畫圖 API 是控件的底層實(shí)現(xiàn).

繪圖 API 核?類

說明
QPainter?來繪圖的對(duì)象,提供了?系列 drawXXX ?法,可以允許我們繪制各種圖形.
QPaintDevice描述了 QPainter 把圖形畫到哪個(gè)對(duì)象上。像咱們之前?過的 QWidget 也是?種 QPaintDevice (QWidget 是 QPaintDevice 的?類) .
QPen描述了 QPainter 畫出來的線是什么樣的
QBrush描述了 QPainter 填充?個(gè)區(qū)域是什么樣的.

繪圖 API 的使用,?般不會(huì)在 QWidget 的構(gòu)造函數(shù)中使用,而是要放到 paintEvent 事件中.

paintEvent 會(huì)在以下情況下被觸發(fā):

  • 控件?次創(chuàng)建.
  • 控件被遮擋,再解除遮擋.
  • 窗口最小化,再恢復(fù).
  • 窗口最小化,再恢復(fù).
  • 控件大小發(fā)?變化時(shí).
  • 主動(dòng)調(diào)? repaint() 或者 update() ?法(這兩個(gè)?法都是 QWidget 的?法).

4.1 繪制形狀

線段

//參數(shù):
//p1:繪制起點(diǎn)坐標(biāo)
//p2:繪制終點(diǎn)坐標(biāo)
void drawLine(const QPoint &p1, const QPoint &p2);

矩形

//參數(shù):
//x:窗?橫坐標(biāo);
//y:窗?縱坐標(biāo);
//width:所繪制矩形的寬度;
//height:所繪制矩形的?度;
void QPainter::drawRect(int x, int y, int width, int height);

//參數(shù):
//center:中?點(diǎn)坐標(biāo)
//rx:橫坐標(biāo)
//ry:縱坐標(biāo)
void QPainter::drawEllipse(const QPoint &center, int rx, int ry)

4.2 繪制文本

文本

QPainter類 中不僅提供了繪制圖形的功能,還可以使用 QPainter::drawText() 函數(shù)來繪制?字,也可以使用QPainter::setFont() 設(shè)置字體等信息

畫筆

QPainter 在繪制時(shí),是有?個(gè)默認(rèn)的畫筆的。在使?時(shí)也可以?定義畫筆,在 Qt 中,QPen類中定義了 QPainter 應(yīng)該如何繪制形狀、線條和輪廓。同時(shí)通過 QPen類 可以設(shè)置畫筆的線寬、顏?、樣式、畫刷等。

畫筆的顏?可以在實(shí)例化畫筆對(duì)象時(shí)進(jìn)?設(shè)置,畫筆的寬度是通過 setWidth() 方法進(jìn)?設(shè)置,畫筆的風(fēng)格是通過setStyle()方法進(jìn)行設(shè)置,設(shè)置畫刷主要是通過 setBrush() ?法。

  • 設(shè)置畫筆顏?:QPen::QPen(const QColor &color)
  • 設(shè)置畫筆寬度:void QPen::setWidth(int width)
  • 設(shè)置畫筆風(fēng)格:void QPen::setStyle(Qt::PenStyle style)

其中,畫筆的風(fēng)格如下:

畫刷

畫刷是使用 QBrush類 來描述,畫刷大多用于填充。QBrush定義了QPainter的填充模式,具有樣式、顏?、漸變以及紋理等屬性。
畫刷的格式中定義了填充的樣式,使? Qt::BrushStyle 枚舉,默認(rèn)值是 Qt::NoBrush,也就是不進(jìn)?任何填充

4.3 繪制圖片

Qt 提供了四個(gè)類來處理圖像數(shù)據(jù):QImage、QPixmap、QBitmap 和 QPicture,它們都是常?的繪圖設(shè)備。

  • QImage主要?來進(jìn)? I/O 處理,它對(duì) I/O 處理操作進(jìn)?了優(yōu)化,?且可以?來直接訪問和操作像素;
  • QPixmap 主要?來在屏幕上顯?圖像,它對(duì)在屏幕上顯?圖像進(jìn)?了優(yōu)化;
  • QBitmap 是 QPixmap 的子類,用來處理顏?深度為1的圖像,即只能顯示黑白兩種顏?;
  • QPicture ?來記錄并重演 QPainter 命令。

下面我們來簡(jiǎn)單使用一下QPixmap:

平移圖片

平移圖片實(shí)際是通過改變坐標(biāo)來實(shí)現(xiàn)。QPainter類中提供了 translate()函數(shù) 來實(shí)現(xiàn)坐標(biāo)原點(diǎn)的改變

關(guān)于繪制圖片,還有很多很多的設(shè)置,我們這里就不贅述了。

  • 旋轉(zhuǎn)圖?
  • 移動(dòng)畫家位置
  • 保存/加載畫家的狀態(tài)

前?的代碼中我們是使? QWidget 作為繪圖設(shè)備,在 Qt 中還存在下列三個(gè)?較特殊的繪圖設(shè)備

  1. QPixmap

QPixmap 核心特性:

  • 使? QPainter 直接在上?進(jìn)?繪制圖形.
  • 通過?件路徑加載并顯?圖?.
  • 搭配 QPainter 的 drawPixmap()函數(shù), 可以把這個(gè)圖?繪制到?個(gè) QLabel、QPushButton 等控件上.
  • 和系統(tǒng)/顯?設(shè)備強(qiáng)相關(guān), 不同系統(tǒng)/顯?設(shè)備下, QPixmap 的顯?可能會(huì)有所差別
  1. QImage

QImage 的核心特性:

  • 使? QPainter 直接在上?進(jìn)?繪制圖形.
  • 通過?件路徑保存/加載圖?.
  • 能夠針對(duì)圖?進(jìn)?像素級(jí)別的操作(操作某個(gè)指定的像素).
  • 獨(dú)?于硬件的繪制系統(tǒng), 能夠在不同系統(tǒng)之上提供?致的顯?.
  1. QPicture

QPicture 核?特性:

  • 使? QPainter 直接在上?進(jìn)?繪制圖形.
  • 通過?件路徑加載并顯?圖?.
  • 能夠記錄 QPainter 的操作步驟.
  • 獨(dú)?于硬件的繪制系統(tǒng), 能夠在不同系統(tǒng)之上提供?致的顯?.

總結(jié)

到此這篇關(guān)于QT使用QSS進(jìn)行界面美化的文章就介紹到這了,更多相關(guān)QT用QSS界面美化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Opencv二幀差法檢測(cè)運(yùn)動(dòng)目標(biāo)與提取輪廓

    Opencv二幀差法檢測(cè)運(yùn)動(dòng)目標(biāo)與提取輪廓

    這篇文章主要為大家詳細(xì)介紹了Opencv使用二幀差法檢測(cè)運(yùn)動(dòng)目標(biāo)與提取輪廓,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++實(shí)現(xiàn)二維圖形的傅里葉變換

    C++實(shí)現(xiàn)二維圖形的傅里葉變換

    這篇文章主要介紹了C++實(shí)現(xiàn)二維圖形的傅里葉變換的方法,是C++程序設(shè)計(jì)里一個(gè)重要的應(yīng)用,需要的朋友可以參考下
    2014-08-08
  • C++輸出斐波那契數(shù)列的兩種實(shí)現(xiàn)方法

    C++輸出斐波那契數(shù)列的兩種實(shí)現(xiàn)方法

    以下是對(duì)C++中輸出斐波那契數(shù)列的兩種實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-10-10
  • Linux系統(tǒng)下如何使用C++解析json文件詳解

    Linux系統(tǒng)下如何使用C++解析json文件詳解

    JSON(JavaScript Object Notation, JS 對(duì)象簡(jiǎn)譜) 是一種輕量級(jí)的數(shù)據(jù)交換格式。下面這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)下如何使用C++解析json文件的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • C++list的模擬實(shí)現(xiàn)

    C++list的模擬實(shí)現(xiàn)

    list是數(shù)據(jù)結(jié)構(gòu)中的鏈表,在C++的STL中,有l(wèi)ist的模板,STL中的list的結(jié)構(gòu)是帶頭雙向循環(huán)鏈表,當(dāng)然STL中還有一個(gè)forward_list的鏈表,這個(gè)鏈表是一個(gè)帶頭的單鏈表。為了更好的理解list,我們來對(duì)其進(jìn)行模擬實(shí)現(xiàn)。,需要的朋友可以參考
    2023-04-04
  • C++11中的stoi & stod用法

    C++11中的stoi & stod用法

    這篇文章主要介紹了C++11中的stoi & stod用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 詳解在VScode中添加代碼塊(含C++指令生成代碼)

    詳解在VScode中添加代碼塊(含C++指令生成代碼)

    這篇文章主要介紹了詳解在VScode中添加代碼塊(含C++指令生成代碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 關(guān)于C++中定義比較函數(shù)的三種方法小結(jié)

    關(guān)于C++中定義比較函數(shù)的三種方法小結(jié)

    下面小編就為大家?guī)硪黄P(guān)于C++中定義比較函數(shù)的三種方法小結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • C++ abs函數(shù)實(shí)際應(yīng)用詳解

    C++ abs函數(shù)實(shí)際應(yīng)用詳解

    本文我們來講C++的abs函數(shù)以及實(shí)戰(zhàn)運(yùn)用,C++中的abs函數(shù)。在C++中使用abs函數(shù)要注意存在兩種版本,一種是在stdlmb.h中定義的版本,另一個(gè)是在cmath頭文件中定義的。夷實(shí)上在stdlib.h文件是C的函數(shù),而cmath中的是C++版本
    2022-08-08
  • C++中volatile和mutable關(guān)鍵字用法詳解

    C++中volatile和mutable關(guān)鍵字用法詳解

    這篇文章主要介紹了C++中volatile和mutable關(guān)鍵字用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02

最新評(píng)論

秀山| 阿克| 龙南县| 遂平县| 秦皇岛市| 城口县| 龙南县| 广南县| 上虞市| 东乌| 铜陵市| 许昌市| 宁陕县| 枞阳县| 桐柏县| 建始县| 清镇市| 贵定县| 丹寨县| 成都市| 崇信县| 巴南区| 兰考县| 许昌县| 杭锦旗| 聂拉木县| 迁西县| 嫩江县| 萨嘎县| 开原市| 额济纳旗| 西乌| 班戈县| 尚义县| 丰城市| 高阳县| 郯城县| 和龙市| 托里县| 松桃| 扎赉特旗|