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 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:
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
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)); }
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
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!