溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

控件組合使用C++實(shí)例分析

發(fā)布時(shí)間:2024-09-02 09:35:53 來源:億速云 閱讀:78 作者:小樊 欄目:編程語言

在這個(gè)示例中,我們將創(chuàng)建一個(gè)簡單的C++程序,該程序使用控件組合來實(shí)現(xiàn)一個(gè)基本的計(jì)算器功能。我們將使用以下控件:

  1. 兩個(gè)文本輸入框(用于輸入數(shù)字)
  2. 一個(gè)下拉列表(用于選擇操作符)
  3. 一個(gè)按鈕(用于計(jì)算結(jié)果)
  4. 一個(gè)標(biāo)簽(用于顯示結(jié)果)

首先,我們需要包含必要的頭文件并創(chuàng)建一個(gè)主窗口類,該類繼承自QWidget。

#include <QApplication>
#include <QWidget>
#include <QLineEdit>
#include <QComboBox>
#include <QPushButton>
#include <QLabel>
#include <QHBoxLayout>
#include <QVBoxLayout>

class Calculator : public QWidget {
    Q_OBJECT
public:
    Calculator();
};

接下來,我們需要實(shí)現(xiàn)Calculator類的構(gòu)造函數(shù)。在這個(gè)構(gòu)造函數(shù)中,我們將創(chuàng)建所需的控件并設(shè)置布局。

Calculator::Calculator() {
    // 創(chuàng)建控件
    QLineEdit *number1 = new QLineEdit;
    QLineEdit *number2 = new QLineEdit;
    QComboBox *operatorBox = new QComboBox;
    operatorBox->addItems({"+", "-", "*", "/"});
    QPushButton *calculateButton = new QPushButton("Calculate");
    QLabel *resultLabel = new QLabel;

    // 設(shè)置布局
    QHBoxLayout *inputLayout = new QHBoxLayout;
    inputLayout->addWidget(number1);
    inputLayout->addWidget(operatorBox);
    inputLayout->addWidget(number2);

    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->addLayout(inputLayout);
    mainLayout->addWidget(calculateButton);
    mainLayout->addWidget(resultLabel);

    setLayout(mainLayout);

    // 連接信號(hào)和槽
    connect(calculateButton, &QPushButton::clicked, [=]() {
        double num1 = number1->text().toDouble();
        double num2 = number2->text().toDouble();
        QString op = operatorBox->currentText();
        double result = 0;

        if (op == "+") {
            result = num1 + num2;
        } else if (op == "-") {
            result = num1 - num2;
        } else if (op == "*") {
            result = num1 * num2;
        } else if (op == "/") {
            if (num2 != 0) {
                result = num1 / num2;
            } else {
                resultLabel->setText("Error: Division by zero");
                return;
            }
        }

        resultLabel->setText(QString::number(result));
    });
}

最后,我們需要實(shí)現(xiàn)main函數(shù)來運(yùn)行應(yīng)用程序。

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

    Calculator calculator;
    calculator.show();

    return app.exec();
}

這個(gè)簡單的C++程序使用Qt框架實(shí)現(xiàn)了一個(gè)基本的計(jì)算器功能。用戶可以在文本輸入框中輸入數(shù)字,從下拉列表中選擇操作符,然后點(diǎn)擊“Calculate”按鈕來計(jì)算結(jié)果。結(jié)果將顯示在標(biāo)簽中。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI