您好,登錄后才能下訂單哦!
在這個示例中,我們將創建一個簡單的C++程序,該程序使用控件組合來實現一個基本的計算器功能。我們將使用以下控件:
首先,我們需要包含必要的頭文件并創建一個主窗口類,該類繼承自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();
};
接下來,我們需要實現Calculator
類的構造函數。在這個構造函數中,我們將創建所需的控件并設置布局。
Calculator::Calculator() {
// 創建控件
QLineEdit *number1 = new QLineEdit;
QLineEdit *number2 = new QLineEdit;
QComboBox *operatorBox = new QComboBox;
operatorBox->addItems({"+", "-", "*", "/"});
QPushButton *calculateButton = new QPushButton("Calculate");
QLabel *resultLabel = new QLabel;
// 設置布局
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);
// 連接信號和槽
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));
});
}
最后,我們需要實現main
函數來運行應用程序。
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
Calculator calculator;
calculator.show();
return app.exec();
}
這個簡單的C++程序使用Qt框架實現了一個基本的計算器功能。用戶可以在文本輸入框中輸入數字,從下拉列表中選擇操作符,然后點擊“Calculate”按鈕來計算結果。結果將顯示在標簽中。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。