欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ Qt開(kāi)發(fā)之LineEdit單行輸入組件的用法詳解

 更新時(shí)間:2023年12月13日 08:47:11   作者:微軟技術(shù)分享  
Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹LineEdit單行輸入框組件的常用方法及靈活運(yùn)用

在Qt中,QLineEdit是一個(gè)用于輸入單行文本的控件,它提供了一個(gè)允許用戶輸入和編輯文本的文本框。該組件是Qt的基礎(chǔ)控件之一,常用于獲取用戶的輸入,例如用戶名、密碼、搜索關(guān)鍵字等。是構(gòu)建用戶交互界面的基礎(chǔ)組件之一,通常與其他控件一起使用,例如按鈕、標(biāo)簽等,以構(gòu)建完整的用戶輸入界面。

以下是QLineEdit的一些常用方法和屬性配置,以表格形式進(jìn)行說(shuō)明:

方法名描述
QLineEdit()構(gòu)造函數(shù),創(chuàng)建一個(gè)空的LineEdit。
clear()清空LineEdit中的文本。
setText(const QString &)設(shè)置LineEdit的文本內(nèi)容。
text() const獲取LineEdit的當(dāng)前文本內(nèi)容。
setPlaceholderText(const QString &)設(shè)置占位文本,顯示在LineEdit中,提供用戶輸入提示。
placeholderText() const獲取占位文本。
setMaxLength(int)設(shè)置最大輸入長(zhǎng)度。
maxLength() const獲取最大輸入長(zhǎng)度。
setReadOnly(bool)設(shè)置LineEdit為只讀狀態(tài),用戶無(wú)法編輯。
isReadOnly() const檢查L(zhǎng)ineEdit是否為只讀狀態(tài)。
setEchoMode(QLineEdit::EchoMode)設(shè)置回顯模式,用于處理密碼等敏感信息的顯示。
echoMode() const獲取當(dāng)前的回顯模式。
setValidator(QValidator *)設(shè)置輸入驗(yàn)證器,用于限制輸入的內(nèi)容。
validator() const獲取當(dāng)前的輸入驗(yàn)證器。
setInputMask(const QString &)設(shè)置輸入掩碼,限制輸入的格式。
inputMask() const獲取當(dāng)前的輸入掩碼。
undo()撤銷上一次操作。
redo()重做上一次撤銷的操作。
cut()剪切當(dāng)前選中的文本。
copy()復(fù)制當(dāng)前選中的文本。
paste()粘貼剪切板的內(nèi)容。
selectAll()選中LineEdit中的所有文本。
deselect()取消文本的選擇狀態(tài)。

這些方法提供了QLineEdit的基本功能,包括文本的設(shè)置、獲取、清空,以及一些編輯和格式化的操作。具體使用時(shí)可以根據(jù)需求選擇合適的方法。

1 使用輸入框

首先實(shí)現(xiàn)一個(gè)簡(jiǎn)單的輸入框案例,首先需要構(gòu)建一個(gè)如下圖所示的窗體布局,在布局中單行輸入框LineEdit()組件用來(lái)輸入一行文本內(nèi)容,Label()標(biāo)簽用于顯示文本信息,GroupBox()組件用來(lái)實(shí)現(xiàn)分組顯示,PushButton()用于增加按鈕的點(diǎn)擊事件,通過(guò)四者配合實(shí)現(xiàn)兩個(gè)簡(jiǎn)單的數(shù)值轉(zhuǎn)換器。

在代碼是線上我們分別對(duì)兩個(gè)按鈕增加觸發(fā)事件,第一個(gè)按鈕用于實(shí)現(xiàn)乘法計(jì)算器功能,在代碼中判斷編輯框是否為空,不為空則計(jì)算,第二個(gè)按鈕觸發(fā)進(jìn)制轉(zhuǎn)換事件,完整代碼如下所示;

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QString>

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 設(shè)置計(jì)算和編輯框不可修改
    ui->lineEdit_hex->setEnabled(false);
    ui->lineEdit_bin->setEnabled(false);
}

MainWindow::~MainWindow()
{
    delete ui;
}

// 當(dāng)點(diǎn)擊計(jì)算按鈕后完成計(jì)算
void MainWindow::on_pushButton_clicked()
{
    // 得到兩個(gè)編輯框的數(shù)據(jù)
    QString String_total;
    QString Number_One = ui->lineEdit_A->text();
    QString Number_Two = ui->lineEdit_B->text();

    // 判斷是否為空
    if(Number_One.length() == 0 || Number_Two.length() == 0)
    {
        ui->label_Sum->setText("參數(shù)不能為空");
    }
    else
    {
        // 類型轉(zhuǎn)換并賦值
        int number_int = Number_One.toInt();
        float number_float = Number_Two.toFloat();

        // 計(jì)算結(jié)果并放入到第三個(gè)編輯框中
        float total = number_int * number_float;

        // 將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串
        String_total = String_total.sprintf("%.2f",total);
        ui->label_Sum->setText(String_total);
    }
}

// 當(dāng)點(diǎn)擊進(jìn)制轉(zhuǎn)換按鈕后觸發(fā)事件
void MainWindow::on_pushButton_2_clicked()
{
    // 得到編輯框字符串
    QString str = ui->lineEdit_C->text();

    // 判斷是否為空
    if(str.length() == 0 || str.length() == 0)
    {
        ui->label_Sum->setText("參數(shù)不能為空");
    }
    else
    {   // 轉(zhuǎn)換為整數(shù)
        int value = str.toUInt();

        // 轉(zhuǎn)十六進(jìn)制
        str = str.setNum(value,16);     // 轉(zhuǎn)為16進(jìn)制
        str = str.toUpper();            // 變?yōu)榇髮?
        ui->lineEdit_hex->setText(str); // 設(shè)置hex編輯框

        // 轉(zhuǎn)二進(jìn)制
        str = str.setNum(value,2);        // 第一種方式轉(zhuǎn)換
        str = QString::number(value,2);   // 第二種方式轉(zhuǎn)換
        ui->lineEdit_bin->setText(str);   // 設(shè)置bin編輯框
    }
}

運(yùn)行后讀者可自行觀察輸出效果,如下圖;

2 信息提示框

在Qt中對(duì)話框分為兩種形式,一種是標(biāo)準(zhǔn)對(duì)話框,另一種則是自定義對(duì)話框,在開(kāi)發(fā)過(guò)程中標(biāo)準(zhǔn)對(duì)話框使用是最多的,標(biāo)準(zhǔn)對(duì)話框一般包括 QMessageBox、QInputDialogQFileDialog 這幾種,為了后續(xù)文章的需要我們先來(lái)展示QMessageBox的特性,QMessageBox 是 Qt 中用于顯示消息框的類,提供了一種簡(jiǎn)單的方式來(lái)向用戶顯示信息、詢問(wèn)問(wèn)題或警告。

以下是 QMessageBox 的一些主要特點(diǎn)和用法:

  • 消息框類型: QMessageBox 支持不同類型的消息框,包括信息框、警告框、錯(cuò)誤框、提問(wèn)框等,以滿足不同場(chǎng)景下的需求。
  • 按鈕配置: 可以自定義消息框中顯示的按鈕,如"確定"、“取消”、“是”、"否"等,也可以使用默認(rèn)的按鈕配置。
  • 圖標(biāo)設(shè)置: 可以為消息框設(shè)置不同的圖標(biāo),用于表示消息的重要性或類型,如信息、警告、錯(cuò)誤等。
  • 標(biāo)準(zhǔn)按鈕和返回值: QMessageBox 提供了一組標(biāo)準(zhǔn)按鈕,用戶可以選擇,每個(gè)按鈕都對(duì)應(yīng)一個(gè)返回值,便于判斷用戶的選擇。
  • 詳細(xì)信息和幫助: 可以設(shè)置消息框的詳細(xì)信息和幫助信息,以提供更多上下文或幫助用戶理解消息。
  • 默認(rèn)按鈕: 可以指定消息框中的默認(rèn)按鈕,用戶可以通過(guò)回車鍵觸發(fā)默認(rèn)按鈕。

首先我們以消息類型為例,來(lái)概述一下Qt中所支持的類型,以下是一些主要的消息框類型:

  • QMessageBox::Information(信息框) 顯示一般性的信息,用于向用戶傳遞一般性的消息。
  • QMessageBox::Warning(警告框) 用于向用戶傳遞警告信息,表示可能的問(wèn)題或需要用戶注意的情況。
  • QMessageBox::Critical(錯(cuò)誤框) 顯示嚴(yán)重錯(cuò)誤的消息框,用于向用戶傳遞需要立即處理的錯(cuò)誤信息。
  • QMessageBox::Question(提問(wèn)框) 通常用于詢問(wèn)用戶一個(gè)問(wèn)題,用戶可以選擇"是"、“否”、"取消"等答案。
  • 自定義圖標(biāo)類型
    • 除了上述預(yù)定義的幾種類型,QMessageBox 還支持通過(guò) QMessageBox::setIcon() 方法設(shè)置自定義圖標(biāo),以滿足特定需求。

該組件的使用同樣需要提前導(dǎo)入#include <QMessageBox>庫(kù),以下是QMessageBox類的一些常用方法,說(shuō)明和概述:

方法描述
QMessageBox::information()顯示信息框,包含圖標(biāo)、標(biāo)題和文本信息。
QMessageBox::warning()顯示警告框,包含圖標(biāo)、標(biāo)題和警告文本。
QMessageBox::critical()顯示錯(cuò)誤框,包含圖標(biāo)、標(biāo)題和錯(cuò)誤文本。
QMessageBox::question()顯示提問(wèn)框,包含圖標(biāo)、標(biāo)題和問(wèn)題文本,通常有"是"、"否"按鈕。
QMessageBox::about()顯示關(guān)于框,包含圖標(biāo)、標(biāo)題和關(guān)于文本。
QMessageBox::aboutQt()顯示關(guān)于Qt框,包含圖標(biāo)、標(biāo)題和關(guān)于Qt文本。
QMessageBox::setWindowTitle()設(shè)置消息框的標(biāo)題。
QMessageBox::setText()設(shè)置消息框的主要文本。
QMessageBox::setInformativeText()設(shè)置消息框的附加信息。
QMessageBox::setIcon()設(shè)置消息框的圖標(biāo)類型。
QMessageBox::setStandardButtons()設(shè)置消息框的標(biāo)準(zhǔn)按鈕集合,如確定、取消等。
QMessageBox::setDefaultButton()設(shè)置消息框中默認(rèn)的按鈕,按下 Enter 鍵會(huì)觸發(fā)默認(rèn)按鈕。
QMessageBox::exec()執(zhí)行消息框并等待用戶的響應(yīng),返回用戶選擇的按鈕。
QMessageBox::button()獲取消息框中指定類型的按鈕,用于自定義按鈕的屬性和行為。
QMessageBox::addButton()向消息框添加自定義按鈕。
QMessageBox::removeButton()從消息框移除自定義按鈕。
QMessageBox::setDefaultButton()設(shè)置默認(rèn)按鈕,按下 Enter 鍵觸發(fā)默認(rèn)按鈕。

首先我們來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的按鈕提示框,其核心代碼如下所示,當(dāng)用戶點(diǎn)擊了pushButton按鈕時(shí),則會(huì)觸發(fā)on_pushButton_clicked按鈕事件,此時(shí)根據(jù)提示彈出不同的對(duì)話框信息;

#include <QString>
#include <QMessageBox>

void MainWindow::on_pushButton_clicked()
{
    QMessageBox msgBox;

    msgBox.setWindowTitle("提示框");
    msgBox.setText("你好lyshark,這是一個(gè)信息框");
    msgBox.setIcon(QMessageBox::Information);
    msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
    msgBox.setDefaultButton(QMessageBox::Ok);

    int ret = msgBox.exec();
    if (ret == QMessageBox::Ok)
    {
        // 用戶點(diǎn)擊了確定按鈕
        QMessageBox::information(nullptr, "信息", "用戶點(diǎn)擊了確定按鈕", QMessageBox::Ok);

    } else if (ret == QMessageBox::Cancel)
    {
        // 用戶點(diǎn)擊了取消按鈕
        QMessageBox::warning(nullptr, "警告", "用戶點(diǎn)擊了取消按鈕", QMessageBox::Ok);
    }
}

如下圖,當(dāng)用戶點(diǎn)擊代碼提示框按鈕時(shí),會(huì)自動(dòng)彈出對(duì)話框,當(dāng)用戶選擇不同的按鈕則又會(huì)再次彈出令一個(gè)不同的對(duì)話框;

接著我們來(lái)擴(kuò)展一個(gè)非常實(shí)用的案例技巧,在某些時(shí)候用戶點(diǎn)擊右上角的關(guān)閉按鈕時(shí)會(huì)自動(dòng)終止程序的執(zhí)行,有時(shí)我們需要提示用戶是否關(guān)閉,這時(shí)就可以使用QCloseEvent組件實(shí)現(xiàn)事件通知機(jī)制,當(dāng)用戶點(diǎn)擊關(guān)閉按鈕時(shí)則會(huì)提示是否關(guān)閉,如果是則關(guān)閉,否則繼續(xù)執(zhí)行。

需要注意的是,使用該組件時(shí),需要在mainwindow.h頭文件中引入#include <QCloseEvent組件,并在public:中定義void closeEvent(QCloseEvent *event);聲明其存在,最后要在mainwindow.cpp中實(shí)現(xiàn)該功能,核心代碼如下;

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

// 窗口關(guān)閉時(shí)詢問(wèn)是否退出
void MainWindow::closeEvent(QCloseEvent *event)
{
   QMessageBox::StandardButton result=QMessageBox::question(this, "確認(rèn)", "確定要退出本程序嗎?",
                      QMessageBox::Yes|QMessageBox::No |QMessageBox::Cancel,
                      QMessageBox::No);

    if (result==QMessageBox::Yes)
        event->accept();
    else
        event->ignore();
}

至此,當(dāng)程序關(guān)閉按鈕被點(diǎn)擊時(shí)則不會(huì)直接關(guān)閉,而是會(huì)先提示是否關(guān)閉讓用戶選擇,如下圖;

3 賬號(hào)密碼登錄

為了能靈活的展示lineEdit組件與PushButton的靈活運(yùn)用,本次將實(shí)現(xiàn)一個(gè)具有記住密碼的用戶登錄程序,首先在布局中需要兩個(gè)label標(biāo)簽,兩個(gè)lineEdit編輯框,以及一個(gè)checkBox單選框,和PushButton登錄按鈕,需要注意登錄密碼一般時(shí)隱藏模式所以需要設(shè)置setEchoMode(QLineEdit::Password)為密碼輸入模式,該程序的整體UI布局如下圖所示;

在實(shí)現(xiàn)賬號(hào)密碼驗(yàn)證之前,我們還需要增加密碼的加密、讀入、和寫入功能,此時(shí)需要使用QCryptographicHash模塊,該模塊是Qt中提供的用于計(jì)算哈希值的類,屬于Qt的核心模塊。哈希函數(shù)將輸入數(shù)據(jù)映射為固定長(zhǎng)度的哈希值,通常用于安全領(lǐng)域、數(shù)據(jù)完整性驗(yàn)證等方面。QCryptographicHash支持多種哈希算法,如MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512等。

首先我們?cè)?code>mainwindow.h中分別增加三個(gè)函數(shù)的定義部分,其中encrypt用于接收一個(gè)字符串并輸出該字符串的Hash值,ReadString函數(shù)用于在注冊(cè)表內(nèi)讀入賬號(hào)密碼信息,WriteString則用于寫出賬號(hào)密碼信息到注冊(cè)表內(nèi),其核心代碼如下所示;

#include <QString>
#include <QMessageBox>
#include <QByteArray>
#include <QSettings>
#include <QCryptographicHash>

// 初始化用戶名
QString m_user="lyshark";

// 初始化密碼
QString m_pswd="12345";

// 試錯(cuò)次數(shù)
int m_tryCount=0;

// 字符串MD5算法加密
QString MainWindow::encrypt(const QString &str)
{
    QByteArray btArray;
    btArray.append(str);                               // 加入原始字符串
    QCryptographicHash hash(QCryptographicHash::Md5);  // Md5加密算法

    hash.addData(btArray);                             // 添加數(shù)據(jù)到加密哈希值
    QByteArray resultArray =hash.result();             // 返回最終的哈希值
    QString md5 =resultArray.toHex();                  // 轉(zhuǎn)換為16進(jìn)制字符串
    return  md5;
}

// 讀取用戶名密碼
void MainWindow::ReadString()
{
    // 注冊(cè)表字段
    QString organization="UserDataBase";
    // 注冊(cè)表位置HKEY_CURRENT_USER/Software/UserDataBase/onley
    QString appName="onley";
    // 創(chuàng)建key-value
    QSettings settings(organization,appName);
    // 讀取 saved鍵的值
    bool saved=settings.value("saved",false).toBool();
    // 讀取 Username 鍵的值,缺省為lyshark
    m_user=settings.value("Username", "lyshark").toString();
    // 缺省密碼 12345 加密后的數(shù)據(jù)
    QString defaultPSWD=encrypt("12345");

    // 讀取PSWD鍵的值
    m_pswd=settings.value("PSWD",defaultPSWD).toString();

    if (saved)
    {
        ui->lineEdit_username->setText(m_user);
    }
    ui->checkBox->setChecked(saved);
}

// 保存用戶名密碼設(shè)置
void MainWindow::WriteString()
{
    // 注冊(cè)表鍵組
    QSettings settings("UserDataBase","onley");
    // 用戶名
    settings.setValue("Username",m_user);
    // 經(jīng)過(guò)加密的密碼
    settings.setValue("PSWD",m_pswd);
    settings.setValue("saved",ui->checkBox->isChecked());
}

我們看下主驗(yàn)證程序的流程,在主程序中我們調(diào)用ReadString讀入賬號(hào)密碼到內(nèi)存,當(dāng)按鈕被點(diǎn)擊后觸發(fā)on_pushButton_clicked()子程序,并實(shí)現(xiàn)對(duì)賬號(hào)密碼的登錄驗(yàn)證功能,實(shí)現(xiàn)代碼如下所示;

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 設(shè)置主窗體不可調(diào)節(jié)
    setFixedSize(this->width(), this->height());

    //設(shè)置密碼輸入模式*
    ui->lineEdit_password->setEchoMode(QLineEdit::Password);

    // 讀入數(shù)據(jù)到變量?jī)?nèi)
    ReadString();
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    // 輸入用戶名 + 密碼
    QString user=ui->lineEdit_username->text().trimmed();
    QString pswd=ui->lineEdit_password->text().trimmed();

    // 對(duì)輸入密碼進(jìn)行加密
    QString encrptPSWD=encrypt(pswd);

    // 如果用戶名和密碼正確
    if ((user==m_user)&&(encrptPSWD==m_pswd))
    {
        WriteString();
        QMessageBox::critical(this,"成功","已登錄");
    }
    else
    {
        // 錯(cuò)誤次數(shù)
        m_tryCount++;
        if (m_tryCount>3)
        {
            QMessageBox::critical(this, "錯(cuò)誤", "輸入錯(cuò)誤次數(shù)太多,強(qiáng)行退出");
            this->close();
        }
        else
        {
            QMessageBox::warning(this, "錯(cuò)誤提示", "用戶名或密碼錯(cuò)誤");
        }
    }
}

程序運(yùn)行后讀者可以輸入默認(rèn)的賬號(hào)lyshark及密碼12345默認(rèn)當(dāng)?shù)卿洺晒髣t提示已登錄彈窗,如果用戶勾選了記住密碼,則下次會(huì)自動(dòng)輸入賬號(hào)密碼,如下圖;

以上就是C++ Qt開(kāi)發(fā)之LineEdit單行輸入組件的用法詳解的詳細(xì)內(nèi)容,更多關(guān)于C++ Qt LineEdit單行輸入組件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++學(xué)習(xí)之如何進(jìn)行內(nèi)存資源管理

    C++學(xué)習(xí)之如何進(jìn)行內(nèi)存資源管理

    與java、golang等自帶垃圾回收機(jī)制的語(yǔ)言不同,C++并不會(huì)自動(dòng)回收內(nèi)存,這往往會(huì)導(dǎo)致內(nèi)存泄漏和內(nèi)存溢出等問(wèn)題,所以掌握C++中的內(nèi)存管理技巧和工具是非常重要的,本文就來(lái)和大家詳細(xì)講講
    2023-05-05
  • C++結(jié)構(gòu)體數(shù)組詳細(xì)解析

    C++結(jié)構(gòu)體數(shù)組詳細(xì)解析

    定義結(jié)構(gòu)體數(shù)組和定義結(jié)構(gòu)體變量類似,定義結(jié)構(gòu)體數(shù)組時(shí)只需聲明其為數(shù)組即可
    2013-10-10
  • C++ 對(duì)多線程/并發(fā)的支持(上)

    C++ 對(duì)多線程/并發(fā)的支持(上)

    這篇文章主要介紹的是C++ 對(duì)多線程/并發(fā)的支持,并發(fā),即同時(shí)執(zhí)行多個(gè)任務(wù),常用來(lái)提高吞吐量或者改善響應(yīng)性,下面我們就來(lái)看文章詳細(xì)介紹C++ 對(duì)多線程并發(fā)的支持相關(guān)資料的內(nèi)容吧
    2021-10-10
  • C/C++中不同數(shù)據(jù)類型之間的轉(zhuǎn)換詳解

    C/C++中不同數(shù)據(jù)類型之間的轉(zhuǎn)換詳解

    這篇文章主要介紹了C/C++中不同數(shù)據(jù)類型之間的轉(zhuǎn)換詳解,數(shù)據(jù)類型轉(zhuǎn)換是計(jì)算機(jī)編程中常見(jiàn)的操作,用于將一個(gè)數(shù)據(jù)類型轉(zhuǎn)換為另一個(gè)數(shù)據(jù)類型,本文將對(duì)不同數(shù)據(jù)類型之間的轉(zhuǎn)換作出說(shuō)明,需要的朋友可以參考下
    2023-10-10
  • boost.asio框架系列之定時(shí)器Timer

    boost.asio框架系列之定時(shí)器Timer

    這篇文章介紹了boost.asio框架系列之定時(shí)器Timer,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C語(yǔ)言中單目操作符++、–的實(shí)例講解

    C語(yǔ)言中單目操作符++、–的實(shí)例講解

    C語(yǔ)言的操作符共分為算術(shù)操作符,移位操作符,位操作符,賦值操作符,單目操作符,關(guān)系操作符,邏輯操作符,條件操作符,逗號(hào)表達(dá)式,下表引用、函數(shù)調(diào)用和結(jié)構(gòu)成員這10大類,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中單目操作符++、–的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • 在std::thread中創(chuàng)建并管理QEventLoop的全面解析

    在std::thread中創(chuàng)建并管理QEventLoop的全面解析

    QEventLoop的工作原理可以簡(jiǎn)單地理解為一個(gè)無(wú)限循環(huán),它會(huì)不斷地檢查是否有新的事件需要處理,如果有,就將事件從事件隊(duì)列中取出,然后找到相應(yīng)的事件處理器進(jìn)行處理,這篇文章主要介紹了在std::thread中創(chuàng)建并管理QEventLoop的全面指南,需要的朋友可以參考下
    2023-06-06
  • QT移植到RK3568開(kāi)發(fā)板的方法步驟

    QT移植到RK3568開(kāi)發(fā)板的方法步驟

    本文主要介紹了QT移植到RK3568開(kāi)發(fā)板的方法步驟,文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • C語(yǔ)言中的指針以及二級(jí)指針代碼詳解

    C語(yǔ)言中的指針以及二級(jí)指針代碼詳解

    這篇文章主要介紹了C語(yǔ)言中的指針以及二級(jí)指針代碼詳解,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • C語(yǔ)言對(duì)數(shù)組元素進(jìn)行冒泡排序的實(shí)現(xiàn)

    C語(yǔ)言對(duì)數(shù)組元素進(jìn)行冒泡排序的實(shí)現(xiàn)

    這篇文章主要介紹了C語(yǔ)言對(duì)數(shù)組元素進(jìn)行冒泡排序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評(píng)論