Heim > Backend-Entwicklung > C++ > Ein praktischer Leitfaden zum Entwerfen grafischer C++-Programmierschnittstellen

Ein praktischer Leitfaden zum Entwerfen grafischer C++-Programmierschnittstellen

WBOY
Freigeben: 2024-06-01 14:46:56
Original
622 Leute haben es durchsucht

Antwort: Die Verwendung des Qt-Frameworks zum Entwerfen einer GUI in C++ umfasst die folgenden Schritte: Erstellen einer Header-Datei zum Deklarieren der GUI; Erstellen einer UI-Datei zum Beschreiben des Layouts;

Ein praktischer Leitfaden zum Entwerfen grafischer C++-Programmierschnittstellen

Ein praktischer Leitfaden zum Design der grafischen Programmierschnittstelle (GUI) in C++

Einführung

GUI ist für die Erstellung benutzerfreundlicher Anwendungen unerlässlich. In diesem Artikel erfahren Sie, wie Sie mithilfe des Qt-Frameworks eine GUI in C++ entwerfen und implementieren.

Qt Framework

Qt ist ein plattformübergreifendes GUI-Framework, das mehrere Plattformen wie Windows, macOS und Linux unterstützt. Es stellt eine Sammlung von GUI-Widgets bereit, mit denen sich schnell und einfach komplexe Benutzeroberflächen erstellen lassen.

Codestruktur

Ein einfaches Qt-GUI-Programm enthält normalerweise die folgenden drei Dateien:

  • Header-Datei: Deklarieren Sie die Klassen und Methoden der GUI.
  • Quelldatei: Klassen und Methoden, die GUI implementieren.
  • UI-Datei: Eine XML-Datei, die das GUI-Layout beschreibt.

Practical Case: Einfacher Taschenrechner

St us erstellen eine einfache Taschenrechneranwendung, um den GUI -Entwurfsprozess zu demonstrieren:

Header -Datei (Calculator_Widget.H)

#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
Nach dem Login kopieren

Source -Datei (Calculator_Widget. CPP)

#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));
}
Nach dem Login kopieren

Kompilieren und ausführen

Um die Anwendung zu kompilieren und auszuführen, müssen Sie das Qt-Framework installieren und den folgenden Befehl verwenden:

g++ -std=c++11 -I/usr/include/qt5 calculator_widget.cpp -o calculator
Nach dem Login kopieren

Befehl ausführen./calculator, um die Rechneranwendung zu starten.

Das obige ist der detaillierte Inhalt vonEin praktischer Leitfaden zum Entwerfen grafischer C++-Programmierschnittstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage