Maison > développement back-end > C++ > le corps du texte

Un guide pratique pour la conception d'interfaces de programmation graphique C++

WBOY
Libérer: 2024-06-01 14:46:56
original
583 Les gens l'ont consulté

Réponse : L'utilisation du framework Qt pour concevoir une interface graphique en C++ comprend les étapes suivantes : créer un fichier d'en-tête pour déclarer l'interface graphique ; créer un fichier source pour implémenter l'interface graphique ; créer un fichier d'interface utilisateur pour décrire la mise en page ;

Un guide pratique pour la conception dinterfaces de programmation graphique C++

Un guide pratique sur la conception d'interfaces de programmation graphique (GUI) C++

Introduction

L'interface graphique est essentielle pour créer des applications conviviales. Dans cet article, nous apprendrons comment concevoir et implémenter une interface graphique en C++ à l'aide du framework Qt.

Qt Framework

Qt est un framework GUI multiplateforme qui prend en charge plusieurs plates-formes telles que Windows, macOS et Linux. Il fournit une collection de widgets GUI qui peuvent être utilisés pour créer rapidement et facilement des interfaces utilisateur complexes.

Structure du code

Un simple programme GUI Qt contient généralement les trois fichiers suivants :

  • Fichier d'en-tête : Déclarez les classes et les méthodes de l'interface graphique.
  • Fichier source : Classes et méthodes qui implémentent l'interface graphique.
  • Fichier UI : Un fichier XML décrivant la disposition de l'interface graphique.

Cas pratique : Calculatrice simple

Créons une application de calculatrice simple pour démontrer le processus de conception de l'interface graphique :

Fichier d'en-tête (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
Copier après la connexion

Fichier source (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));
}
Copier après la connexion

Compiler et exécuter

Pour compiler et exécuter l'application, vous devez installer le framework Qt et utiliser la commande suivante :

g++ -std=c++11 -I/usr/include/qt5 calculator_widget.cpp -o calculator
Copier après la connexion

Exécuter la commande./calculator pour démarrer l'application calculatrice.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal