国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++學(xué)習(xí)之路(七)C++ 實(shí)現(xiàn)簡(jiǎn)單的Qt界面(消息彈框、按鈕點(diǎn)擊事件監(jiān)聽)- 示例代碼拆分講解

這篇具有很好參考價(jià)值的文章主要介紹了C++學(xué)習(xí)之路(七)C++ 實(shí)現(xiàn)簡(jiǎn)單的Qt界面(消息彈框、按鈕點(diǎn)擊事件監(jiān)聽)- 示例代碼拆分講解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

這個(gè)示例創(chuàng)建了一個(gè)主窗口,其中包含兩個(gè)按鈕。第一個(gè)按鈕點(diǎn)擊時(shí)會(huì)顯示一個(gè)簡(jiǎn)單的消息框,第二個(gè)按鈕點(diǎn)擊時(shí)會(huì)執(zhí)行一個(gè)特定的操作(在這個(gè)例子中,僅打印一條調(diào)試信息)。

qt c++ 彈出框,C++,c++,學(xué)習(xí),qt,QT入門,cppqt,qt5

功能描述:

  1. 創(chuàng)建窗口和布局: 使用 QWidgetQVBoxLayout 創(chuàng)建主窗口并設(shè)置垂直布局,將按鈕放置在布局中。

  2. 按鈕操作: 創(chuàng)建多個(gè)按鈕,并且為每個(gè)按鈕連接了不同的操作,例如顯示消息框或執(zhí)行特定操作。

基礎(chǔ)知識(shí)點(diǎn):

  1. QWidget 和布局管理器(QLayout): QWidget 是Qt應(yīng)用程序中所有用戶界面對(duì)象的基類,它代表一個(gè)窗口或一個(gè)控件。QVBoxLayout 是Qt提供的一種布局管理器,用于垂直排列控件。

  2. QPushButton 和信號(hào)槽機(jī)制: QPushButton 是Qt中的按鈕類,通過(guò)信號(hào)槽機(jī)制,按鈕的點(diǎn)擊事件(clicked信號(hào))連接到槽函數(shù)(showMessageBoxperformSpecificAction)來(lái)執(zhí)行相應(yīng)的操作。

  3. QMessageBox: QMessageBox 是Qt提供的對(duì)話框類之一,用于在程序中顯示消息框、警告框、錯(cuò)誤框等。

  4. 事件循環(huán): Qt中的應(yīng)用程序需要進(jìn)入事件循環(huán)(QApplication::exec())來(lái)響應(yīng)用戶的交互操作,比如按鈕點(diǎn)擊等。

  5. Q_OBJECT 和元對(duì)象系統(tǒng): Q_OBJECT 宏用于啟用Qt的元對(duì)象系統(tǒng),這是信號(hào)和槽機(jī)制的基礎(chǔ),允許在運(yùn)行時(shí)識(shí)別對(duì)象及其屬性、方法和信號(hào)。對(duì)包含 Q_OBJECT 的類,需要使用元對(duì)象編譯器(moc)進(jìn)行預(yù)處理。

示例在Clion中運(yùn)行步驟:

1. 新建項(xiàng)目

qt c++ 彈出框,C++,c++,學(xué)習(xí),qt,QT入門,cppqt,qt5

2. 粘貼代碼
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QDebug>

class MyMainWindow : public QWidget {
Q_OBJECT
public:
    explicit MyMainWindow(QWidget *parent = nullptr) : QWidget(parent) {
        setWindowTitle("實(shí)用功能示例");

        auto *layout = new QVBoxLayout(this);

        auto *button1 = new QPushButton("顯示消息框");
        connect(button1, &QPushButton::clicked, this, &MyMainWindow::showMessageBox);

        auto *button2 = new QPushButton("執(zhí)行特定操作");
        connect(button2, &QPushButton::clicked, this, &MyMainWindow::performSpecificAction);

        layout->addWidget(button1);
        layout->addWidget(button2);

        setLayout(layout);
    }

private slots:
    void showMessageBox() {
        QMessageBox::information(this, "消息", "這是一個(gè)消息框示例!");
    }

    static void performSpecificAction() {
        // 執(zhí)行特定的操作
        qDebug() << "執(zhí)行了特定操作!";
    }
};

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    MyMainWindow mainWindow;
    mainWindow.show();

    return QApplication::exec();
}

#include "main.moc"

這個(gè)示例可以作為一個(gè)起點(diǎn),我們可以進(jìn)一步添加更多按鈕,并且為每個(gè)按鈕連接不同的功能。Qt提供了豐富的UI組件和信號(hào)/槽機(jī)制,可以輕松創(chuàng)建具有各種實(shí)用功能的用戶界面。

3. 編譯運(yùn)行

qt c++ 彈出框,C++,c++,學(xué)習(xí),qt,QT入門,cppqt,qt5
qt c++ 彈出框,C++,c++,學(xué)習(xí),qt,QT入門,cppqt,qt5

代碼拆解,知識(shí)點(diǎn)總結(jié)

這個(gè)示例中的代碼涉及了許多Qt中的關(guān)鍵概念和功能。我們來(lái)拆分講解一下示例代碼:

?? 1. 創(chuàng)建 MyMainWindow 類:

class MyMainWindow : public QWidget {
    Q_OBJECT
public:
    explicit MyMainWindow(QWidget *parent = nullptr) : QWidget(parent) {
        setWindowTitle("實(shí)用功能示例");

        auto *layout = new QVBoxLayout(this);

        auto *button1 = new QPushButton("顯示消息框");
        connect(button1, &QPushButton::clicked, this, &MyMainWindow::showMessageBox);

        auto *button2 = new QPushButton("執(zhí)行特定操作");
        connect(button2, &QPushButton::clicked, this, &MyMainWindow::performSpecificAction);

        layout->addWidget(button1);
        layout->addWidget(button2);

        setLayout(layout);
    }

private slots:
    void showMessageBox() {
        QMessageBox::information(this, "消息", "這是一個(gè)消息框示例!");
    }

    static void performSpecificAction() {
        qDebug() << "執(zhí)行了特定操作!";
    }
};
  • 構(gòu)造函數(shù) MyMainWindow

    • 設(shè)置主窗口的標(biāo)題為 “實(shí)用功能示例”。
    • 創(chuàng)建了一個(gè)垂直布局管理器 layout。
    • 創(chuàng)建了兩個(gè)按鈕 button1button2,并將它們添加到布局中。
    • 使用 setLayout 設(shè)置主窗口的布局為 layout
  • 槽函數(shù):

    • showMessageBox() 槽函數(shù)在按鈕1被點(diǎn)擊時(shí)被調(diào)用,顯示一個(gè)信息框(消息框)。

    • performSpecificAction() 靜態(tài)函數(shù)與按鈕2的點(diǎn)擊事件關(guān)聯(lián)。它用于展示靜態(tài)函數(shù)的連接方式,此處用于打印調(diào)試信息。

?? 2. 主函數(shù) main():

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    MyMainWindow mainWindow;
    mainWindow.show();

    return QApplication::exec();
}
  • 應(yīng)用程序入口 main()
    • 創(chuàng)建了一個(gè) QApplication 對(duì)象 a,Qt應(yīng)用程序的入口點(diǎn)。
    • 創(chuàng)建了 MyMainWindow 對(duì)象 mainWindow
    • 調(diào)用 show() 函數(shù)顯示主窗口。
    • 通過(guò) QApplication::exec() 進(jìn)入事件循環(huán),等待并響應(yīng)用戶的交互操作。

?? 關(guān)鍵知識(shí)點(diǎn):

  • QWidget 和布局管理器(QLayout): 使用 QWidgetQVBoxLayout 來(lái)創(chuàng)建主窗口及其布局。

  • QPushButton 和信號(hào)槽: 使用 QPushButton 創(chuàng)建按鈕,并使用信號(hào)槽機(jī)制連接按鈕的點(diǎn)擊事件與相應(yīng)的槽函數(shù)。

  • QMessageBox: 使用 QMessageBox::information 創(chuàng)建一個(gè)信息框,顯示消息。

  • 靜態(tài)函數(shù)的使用: 示例中展示了一個(gè)靜態(tài)成員函數(shù)與按鈕點(diǎn)擊事件關(guān)聯(lián)的方法。


在這個(gè)示例中,初學(xué)者要注意哪些地方?

對(duì)于初學(xué)者來(lái)說(shuō),這個(gè)示例涉及到了Qt的一些基礎(chǔ)概念和常用功能。以下是初學(xué)者在閱讀和理解這個(gè)示例時(shí)可能需要注意的地方:

1. 對(duì)象和類的基本概念:
  • 繼承和構(gòu)造函數(shù): 了解 MyMainWindow 類繼承自 QWidget,并學(xué)習(xí)構(gòu)造函數(shù)的作用。

  • 布局管理器的使用: 理解如何使用布局管理器(這里使用了 QVBoxLayout)來(lái)管理窗口內(nèi)部的控件。

2. 按鈕和信號(hào)槽:
  • QPushButton 的創(chuàng)建和連接: 學(xué)習(xí)如何創(chuàng)建按鈕,并且使用 connect 函數(shù)將按鈕的信號(hào)(比如 clicked)連接到槽函數(shù)。

  • 槽函數(shù)的定義和使用: 理解槽函數(shù)的定義方式,以及它們被觸發(fā)時(shí)執(zhí)行的操作。在這個(gè)示例中,showMessageBox()performSpecificAction() 是兩個(gè)槽函數(shù)。

3. Qt中的一些類和方法:
  • QMessageBox 的使用: 了解 QMessageBox 類用于創(chuàng)建不同類型的對(duì)話框,并在應(yīng)用程序中顯示消息、警告等。

  • QApplication 和事件循環(huán): 了解 QApplication 的作用是啟動(dòng)Qt應(yīng)用程序并管理應(yīng)用程序的資源。QApplication::exec() 進(jìn)入Qt的事件循環(huán),負(fù)責(zé)處理用戶輸入、事件和信號(hào)等。

4. 靜態(tài)成員函數(shù):
  • 靜態(tài)函數(shù)的使用: 在這個(gè)示例中,performSpecificAction() 是一個(gè)靜態(tài)成員函數(shù),它與按鈕的點(diǎn)擊事件關(guān)聯(lián)。初學(xué)者可以理解靜態(tài)成員函數(shù)的使用方式和它們的作用。
5. Q_OBJECT 宏和元對(duì)象系統(tǒng):
  • Q_OBJECT 宏的作用: 了解 Q_OBJECT 宏的作用是啟用Qt的元對(duì)象系統(tǒng),它是信號(hào)和槽機(jī)制的基礎(chǔ),在使用信號(hào)和槽時(shí)需要加上這個(gè)宏。

理解以上概念和注意點(diǎn)對(duì)于初學(xué)者來(lái)說(shuō)是很重要的,因?yàn)樗鼈儤?gòu)成了Qt應(yīng)用程序開發(fā)中的基礎(chǔ)知識(shí),能夠幫助初學(xué)者更好地理解和編寫Qt應(yīng)用程序。


這個(gè)示例中的QT文檔應(yīng)該去哪查看?

當(dāng)涉及到Qt文檔的查閱時(shí),Qt官方文檔是最全面和權(quán)威的資源。你可以在以下網(wǎng)址找到Qt的官方文檔:https://doc.qt.io/,本示例使用的是Qt5版本 https://doc.qt.io/qt-5/

在這個(gè)網(wǎng)站上,你可以找到與Qt相關(guān)的全部文檔,包括但不限于以下內(nèi)容:

  1. Qt的類和模塊文檔: 包括每個(gè)Qt類的詳細(xì)說(shuō)明,它們的成員函數(shù)、屬性、信號(hào)、槽等。
  2. 教程和示例: 提供了許多用于學(xué)習(xí)的教程和示例,逐步介紹Qt的各種功能和用法。
  3. Qt的指南和手冊(cè): 包括使用Qt開發(fā)的指南、最佳實(shí)踐、Qt Quick、Qt Widgets等方面的手冊(cè)。
  4. 發(fā)布說(shuō)明和版本信息: 如果你想查看特定版本的Qt的發(fā)布說(shuō)明和變更信息,也可以在官方文檔中找到。

對(duì)于初學(xué)者,Qt的入門指南、教程和示例是很有幫助的,它們可以幫助你快速入門并掌握Qt的基礎(chǔ)知識(shí)。同時(shí),Qt的類和模塊文檔是深入了解Qt API的重要資源。

除了官方文檔,Qt還提供了許多其他資源,比如Qt的論壇、博客、示例代碼等,這些資源也可以幫助你更好地理解和應(yīng)用Qt。


本文就到這里了,感謝您的閱讀,明天還有更多的實(shí)例學(xué)習(xí)文章等著你 ??。別忘了點(diǎn)贊、收藏~ Thanks?(?ω?)? ??。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-766392.html

到了這里,關(guān)于C++學(xué)習(xí)之路(七)C++ 實(shí)現(xiàn)簡(jiǎn)單的Qt界面(消息彈框、按鈕點(diǎn)擊事件監(jiān)聽)- 示例代碼拆分講解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于C++和Qt封裝一個(gè)簡(jiǎn)單的socket(TCP/IP)通信UI界面

    基于C++和Qt封裝一個(gè)簡(jiǎn)單的socket(TCP/IP)通信UI界面

    ????????最近在學(xué)習(xí)TCP/IP和socket套接字的有關(guān)知識(shí),了解了三次握手四次揮手,TCP協(xié)議等等一大堆知識(shí),但紙上得來(lái)終覺淺。網(wǎng)絡(luò)上C++代碼實(shí)現(xiàn)socket通信的資料很多,方便學(xué)習(xí),于是想到自己用Qt實(shí)現(xiàn)一個(gè)基礎(chǔ)的具有網(wǎng)絡(luò)通信收發(fā)功能的服務(wù)端UI軟件。進(jìn)入正題: ? ? ? ?

    2024年02月08日
    瀏覽(21)
  • Qt中多ui使用及簡(jiǎn)單布局實(shí)現(xiàn)交互界面

    Qt中多ui使用及簡(jiǎn)單布局實(shí)現(xiàn)交互界面

    第一章 Qt中C++代碼搭配UI文件實(shí)現(xiàn)交互界面 第二章 Qt中多ui使用及簡(jiǎn)單布局實(shí)現(xiàn)交互界面 文章目錄 前言 一、新增兩個(gè)新UI文件 二、使用這兩個(gè)新增的UI及簡(jiǎn)單布局 三.添加簡(jiǎn)單聯(lián)動(dòng)邏輯 四.編譯運(yùn)行及動(dòng)態(tài)效果展示 總結(jié) ????????前一段時(shí)間,寫了一篇關(guān)于Qt中C++代碼搭配

    2024年02月04日
    瀏覽(63)
  • C++ Qt 學(xué)習(xí)(二):常用控件使用與界面布局

    C++ Qt 學(xué)習(xí)(二):常用控件使用與界面布局

    ui 設(shè)計(jì)器設(shè)計(jì)界面很方便,為什么還要手寫代碼? 更好的控制布局 更好的設(shè)置 qss 代碼復(fù)用 完全不會(huì)寫 Qt 布局,很麻煩,怎么學(xué)會(huì)手寫布局? 看 Qt 自己怎么寫 改良 Qt 的布局寫法 1.1 水平布局 addWidget() 在布局里添加一個(gè)控件 addLayout() 在布局里添加子布局 setMargin() 設(shè)置水平

    2024年02月06日
    瀏覽(50)
  • rabbitmq-常見七種消息隊(duì)列-控制臺(tái)界面管理-python-實(shí)現(xiàn)簡(jiǎn)單訪問(wèn)

    rabbitmq-常見七種消息隊(duì)列-控制臺(tái)界面管理-python-實(shí)現(xiàn)簡(jiǎn)單訪問(wèn)

    1.1.生產(chǎn)者和消費(fèi)者 生產(chǎn)者(Producer) 消息的創(chuàng)建者。 負(fù)責(zé)創(chuàng)建和推送數(shù)據(jù)到消息服務(wù)器。 消費(fèi)者(Consumer) 消息的接收方。 負(fù)責(zé)接收消息和處理數(shù)據(jù)。 1.2.消息隊(duì)列(Queue) 消息隊(duì)列是RabbitMQ的內(nèi)部對(duì)象,用于存儲(chǔ)生產(chǎn)者的消息直到發(fā)送給消費(fèi)者,它是消費(fèi)者接收消息的地方。 消息

    2024年02月03日
    瀏覽(18)
  • QT自定義優(yōu)雅的表單控件,簡(jiǎn)單實(shí)現(xiàn)設(shè)置界面布局

    QT自定義優(yōu)雅的表單控件,簡(jiǎn)單實(shí)現(xiàn)設(shè)置界面布局

    FormView.h FormView.cpp 核心函數(shù) 函數(shù) 變量 功能 addEditableItem title: 輸入框前面的提示文字,同時(shí)作為該控件的標(biāo)識(shí)符 place_holder: 輸入框中的提示文字 在表單中插入一個(gè)可填寫項(xiàng) addCheckableItem title: 不顯示在UI中,僅作為該控件的標(biāo)識(shí)符 content: 勾選框后面的內(nèi)容 init_status: 勾選框的初

    2024年02月11日
    瀏覽(29)
  • QT 消息對(duì)話框按鈕顯示

    QT 消息對(duì)話框按鈕顯示

    搞QT嘛,大多數(shù)都是軍工。都要國(guó)產(chǎn)化,而且消息對(duì)話框的按鈕的英文也不是很得勁,所以需要漢化。使用靜態(tài)函數(shù)的按鈕就是顯示英文,漢化的代碼如下。 QmessageBox功能挺強(qiáng)大的,可以設(shè)置默認(rèn)的按鈕,也可以設(shè)置點(diǎn)擊窗口的關(guān)閉按鈕實(shí)際上點(diǎn)擊的是那個(gè)按鈕,默認(rèn)情況下

    2024年02月10日
    瀏覽(94)
  • 在界面隱藏Qt的PushButton按鈕

    在界面隱藏時(shí)將Qt的PushButton按鈕禁用,可以使用以下方法: 在設(shè)計(jì)界面時(shí)將PushButton按鈕設(shè)置為要隱藏的狀態(tài),例如通過(guò)設(shè)置 visible 屬性為 false 。 在代碼中使用 setVisible(false) 或 hide() 方法將按鈕隱藏。 在需要禁用按鈕的地方,使用 setEnabled(false) 方法來(lái)禁用按鈕。 下面是示例

    2024年02月15日
    瀏覽(18)
  • Qt中C++代碼搭配UI文件實(shí)現(xiàn)交互界面

    Qt中C++代碼搭配UI文件實(shí)現(xiàn)交互界面

    第一章 Qt中C++代碼搭配UI文件實(shí)現(xiàn)交互界面 第二章 Qt中多ui使用及簡(jiǎn)單布局實(shí)現(xiàn)交互界面 文章目錄 一、關(guān)于Qt中的UI文件 二、創(chuàng)建一個(gè)基本的Qt工程 1.創(chuàng)建工程時(shí),選擇不生成ui文件 2.工程內(nèi)容 3.構(gòu)建并運(yùn)行這個(gè)工程 4.實(shí)現(xiàn)并添加UI文件 三.使用這個(gè)新增的UI 四.編譯運(yùn)行 總結(jié)

    2024年02月13日
    瀏覽(21)
  • Qt學(xué)習(xí)筆記之二--創(chuàng)建一個(gè)簡(jiǎn)單的qt互動(dòng)界面(超級(jí)無(wú)敵巨詳細(xì),0基礎(chǔ)也能會(huì),主打的就是圖多,語(yǔ)句通俗)

    Qt學(xué)習(xí)筆記之二--創(chuàng)建一個(gè)簡(jiǎn)單的qt互動(dòng)界面(超級(jí)無(wú)敵巨詳細(xì),0基礎(chǔ)也能會(huì),主打的就是圖多,語(yǔ)句通俗)

    ? 選擇第一個(gè)選項(xiàng),然后兩個(gè)下一步------ 直到 ? 這里要選擇基類,我們選擇Qwiget ?至于為什么,可以看看我收藏的這篇博客QMainWindow和QWidget的區(qū)別_qwidget和qmainwindow_獨(dú)行俠_阿濤的博客-CSDN博客 ok,創(chuàng)建完成后,我們使用快捷鍵Ctrl+R來(lái)運(yùn)行一下,看看是否會(huì)彈出小窗口,彈出說(shuō)

    2024年02月05日
    瀏覽(22)
  • C++發(fā)布訂閱者模式:實(shí)現(xiàn)簡(jiǎn)單消息傳遞系統(tǒng)

    C++發(fā)布訂閱者模式:實(shí)現(xiàn)簡(jiǎn)單消息傳遞系統(tǒng)

    ? 概述: 這個(gè)C++示例演示了發(fā)布者-訂閱者模式的基本實(shí)現(xiàn)。通過(guò) `Event` 類,發(fā)布者 `Publisher` 發(fā)送數(shù)據(jù),而訂閱者 `Subscriber` 訂閱并處理數(shù)據(jù)。通過(guò)簡(jiǎn)單的回調(diào)機(jī)制,實(shí)現(xiàn)了組件間松散耦合的消息傳遞。 好的,我將為你提供一個(gè)簡(jiǎn)單的C++實(shí)例,演示如何使用發(fā)布者-訂閱者模式

    2024年03月17日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包