Panduan Praktikal untuk Merekabentuk Antara Muka Pengaturcaraan Grafik C++

WBOY
Lepaskan: 2024-06-01 14:46:56
asal
583 orang telah melayarinya

Jawapan: Menggunakan rangka kerja Qt untuk mereka bentuk GUI dalam C++ termasuk langkah berikut: buat fail pengepala untuk mengisytiharkan GUI; buat fail UI untuk menghuraikan reka letak;

Panduan Praktikal untuk Merekabentuk Antara Muka Pengaturcaraan Grafik C++

Panduan Praktikal untuk Reka Bentuk Antaramuka Pengaturcaraan Grafik (GUI) C++

Pengenalan

GUI adalah penting untuk mencipta aplikasi mesra pengguna. Dalam artikel ini, kita akan belajar cara mereka bentuk dan melaksanakan GUI dalam C++ menggunakan rangka kerja Qt.

Qt Framework

Qt ialah rangka kerja GUI merentas platform yang menyokong berbilang platform seperti Windows, macOS dan Linux. Ia menyediakan koleksi widget GUI yang boleh digunakan untuk membina antara muka pengguna yang kompleks dengan cepat dan mudah.

Struktur kod

Atur cara GUI Qt yang mudah biasanya mengandungi tiga fail berikut:

  • Fail pengepala: Isytiharkan kelas dan kaedah GUI.
  • Fail sumber: Kelas dan kaedah yang melaksanakan GUI.
  • Fail UI: Fail XML yang menerangkan reka letak GUI. .
  • #ifndef CALCULATOR_WIDGET_H
    #define CALCULATOR_WIDGET_H
    
    #include <QWidget>
    #include <QGridLayout>
    #include <QPushButton>
    #include <QLineEdit>
    
    class CalculatorWidget : public QWidget {
        Q_OBJECT
    
    public:
        CalculatorWidget(QWidget *parent = nullptr);
    
    private slots:
        void numberButtonClicked();
        void operatorButtonClicked();
        void equalsButtonClicked();
    
    private:
        QGridLayout *gridLayout;
        QPushButton *numberButtons[10];
        QPushButton *operatorButtons[4];
        QPushButton *equalsButton;
        QLineEdit *display;
    };
    
    #endif // CALCULATOR_WIDGET_H
    Salin selepas log masuk

Kompil dan jalankan

Untuk menyusun dan menjalankan aplikasi, anda perlu memasang rangka kerja Qt dan gunakan arahan berikut:

#include "calculator_widget.h"

CalculatorWidget::CalculatorWidget(QWidget *parent)
    : QWidget(parent)
{
    // 创建布局
    gridLayout = new QGridLayout;
    setLayout(gridLayout);

    // 创建数字按钮
    for (int i = 0; i < 10; i++) {
        numberButtons[i] = new QPushButton(QString::number(i));
        gridLayout->addWidget(numberButtons[i], i / 3, i % 3);
        connect(numberButtons[i], &QPushButton::clicked, this, &CalculatorWidget::numberButtonClicked);
    }

    // 创建运算符按钮
    operatorButtons[0] = new QPushButton("+");
    operatorButtons[1] = new QPushButton("-");
    operatorButtons[2] = new QPushButton("*");
    operatorButtons[3] = new QPushButton("/");
    for (int i = 0; i < 4; i++) {
        gridLayout->addWidget(operatorButtons[i], (i + 1) / 2, 3);
        connect(operatorButtons[i], &QPushButton::clicked, this, &CalculatorWidget::operatorButtonClicked);
    }

    // 创建等号按钮
    equalsButton = new QPushButton("=");
    gridLayout->addWidget(equalsButton, 4, 3);
    connect(equalsButton, &QPushButton::clicked, this, &CalculatorWidget::equalsButtonClicked);

    // 创建显示屏
    display = new QLineEdit;
    gridLayout->addWidget(display, 0, 0, 1, 3);
}

void CalculatorWidget::numberButtonClicked()
{
    QPushButton *button = qobject_cast<QPushButton*>(sender());
    display->setText(display->text() + button->text());
}

void CalculatorWidget::operatorButtonClicked()
{
    QPushButton *button = qobject_cast<QPushButton*>(sender());
    // 保存操作数和运算符
    operator = button->text();
    operand = display->text();
}

void CalculatorWidget::equalsButtonClicked()
{
    // 计算结果
    int result = 0;
    if (operator == "+") {
        result = operand.toInt() + display->text().toInt();
    } else if (operator == "-") {
        result = operand.toInt() - display->text().toInt();
    } else if (operator == "*") {
        result = operand.toInt() * display->text().toInt();
    } else if (operator == "/") {
        result = operand.toInt() / display->text().toInt();
    }
    // 显示结果
    display->setText(QString::number(result));
}
Salin selepas log masuk
Run command

untuk memulakan aplikasi kalkulator.

Atas ialah kandungan terperinci Panduan Praktikal untuk Merekabentuk Antara Muka Pengaturcaraan Grafik C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan