C++:ssa graafisen käyttöliittymän (GUI) ohjelmointi on tärkeää nykyaikaisessa sovelluskehityksessä, jossa käyttäjillä on mukava grafiikka työskenneltäväkseen. Vaikka C++ yhdistetään yleisesti järjestelmäohjelmointiin ja pelien kirjoittamiseen, se voi olla erinomainen vaihtoehto graafisen käyttöliittymän kirjoittamiselle. Tässä artikkelissa käsittelemme GUI-ohjelmointia C++:ssa, joitakin suosittuja C++:n GUI-kirjastoja ja perusgraafisen käyttöliittymän luomista C++:ssa.
Edellytykset: C++:n perusteet, C++ OOP:t, jotkin GUI-kirjasto.
Mikä on GUI (graafinen käyttöliittymä)?
Graafinen käyttöliittymä (GUI) on visuaalinen sovellusliittymä, joka tarjotaan käyttämällä grafiikkaa, kuten ikkunoita, tekstiruutuja ja painikkeita, joiden kautta käyttäjät voivat kommunikoida ohjelmiston kanssa. GUI tarjoaa interaktiivisen ja helppokäyttöisen alustan Command Line Interface (CLI) -käyttöliittymään verrattuna, koska käyttäjät voivat käyttää hiirtä tai muita syöttölaitteita, kuten kosketusnäyttöä jne. ilman pelkän näppäimistön käyttöä.
GUI-ohjelmoinnin pääkäsitteet
Graafinen käyttöliittymä (GUI) sisältää ikkunoiden, valintaikkunoiden, painikkeiden jne. suunnittelun, jotka ovat kaikki interaktiivisia käyttöliittymäkomponentteja. Sitten ohjaamme näitä widgetejä käyttämällä tapahtumakäsittelijöitä, kuten onClick, onHover jne.
GUI-ohjelmoinnin pääkäsitteet ovat:
Widgetit
Graafinen käyttöliittymä (GUI) koostuu widgeteistä. Näitä ovat esimerkiksi painikkeet, tekstilaatikot, tarrat jne. Kunkin widgetin ominaisuuksia ja toimintaa voidaan mukauttaa sovelluksen erityistarpeiden mukaan. GUI-kirjastossa on yleensä seuraavat widgetit:
- Ikkuna: Huipputason ikkunakehys, joka isännöi sisällään muita widgetejä.
- Painike: Napsautettava painike, jonka napsautukseen liittyy jokin tapahtuma.
- Tunniste: Yksinkertaista vain luku -tekstiä
- Valintaruutu : Laatikko, joka tarjoaa asetukset päälle tai pois päältä.
- Radiopainike: Laatikko, joka tarjoaa vaihtoehdot päälle tai pois päältä, mutta voimme valita vain yhden valintanapin ryhmästä.
- Pudotusvalikko/Combo Box : Avaa avattavan valikon, kun sitä napsautetaan. Vain yksi kohde voidaan näyttää avaamattomassa muodossa.
- Tekstilaatikko: Muokattava tekstialue.
- Luettelolaatikko: Laatikko, jossa on useita kohteita ja vierityspalkki käydäksesi läpi ne kaikki.
- Liukusäädin: Navigointiwidget, jota käytetään liikkumiseen sovelluksessa.
- Menu: Yläosassa näkyvä valikko tarjoaa erilaisia vaihtoehtoja sovelluksen käyttäjälle.
- Valintaikkuna: Laatikko, joka näkyy ikkunan yläosassa. Joskus näyttää ilmoitus.
- Ruudukko: Käytetään käyttöliittymän ulkoasun hallintaan.
Asettelun hallinta
GUI-sovellukset on optimoitava erilaisille erikokoisille, -resoluutioisille näytöille, mikä pyrkii pitämään houkuttelevan, mutta tehokkaan käyttöliittymän eri widgeteillä järjestettynä näytölle.
Tapahtumankäsittely
GUI-ohjelmoinnissa tapahtumat, kuten painikkeen napsautukset tai näppäinpainallukset, ovat kriittisiä. Sovellus käsittelee nämä tapahtumat, jotta se voi seurata käyttäjän toimia. Eri widgeteihin liittyy erilaisia tapahtumia. Esimerkiksi napsautettavaan painikkeeseen liittyvät tapahtumat ovat:
- Napsauta Tapahtuma
- Hiiren siirtotapahtuma
- Keskity tapahtumaan
- Focus Out -tapahtuma
Suositut C++:n GUI-kirjastot
C++:ssa on monia alustariippumattomia GUI-kirjastoja, joita voidaan käyttää GUI-sovelluksen kehittämiseen. Jotkut suosituimmista ovat:
muuntaa nfa dfa:ksi
- gtkmm
- Qt
- wxWidgetit
- Hyvä ImuGui
Esimerkki C++ GUI -sovelluksesta
Käytämme seuraavia työkaluja alla oleville ohjelmille:
- Qt-kirjasto : Ohjelmamme GUI-kirjasto.
- Qt-suunnittelija: Interaktiivinen GUI-mallin suunnittelija Qt:lle.
- Qt Creator: IDE Qt GUI -sovelluksille
Nyt tarkastellaan todellisia GUI-ohjelmoinnin tapauksia C++:lla ja Qt:llä. Aiomme kehittää Hello World -perussovelluksen painikkeen ja kun painiketta napsautetaan, näkyviin tulee valintaikkuna, johon on kirjoitettu Hello World -teksti. Toteutamme sen seuraavilla vaiheilla:
Vaihe 1: Qt-projektin luominen
Avaamme Qt Creatorin ja luomme uuden projektin, jonka tyyppi on Qt Widget Application. Kirjoita nimi, valitse sijainti ja olet valmis. Qt:n luoja luo projektin, jossa on kaikki tarvittavat tiedostot.

Vaihe 2: Ikkunan suunnittelu
Avaamme sitten tiedoston mainWindow.ui . Tämä tiedosto sisältää sovelluksen käyttöliittymän. Lisäämme yhden tekstitunnisteen käyttämällä juuri avattua suunnittelijaa.
Nyt tiedostomme sisältävät seuraavan koodin:
mainWindow.h
C++
#ifndef MAINWINDOW_H> #define MAINWINDOW_H> > #include> > QT_BEGIN_NAMESPACE> namespace> Ui {>class> MainWindow; }> QT_END_NAMESPACE> > class> MainWindow :>public> QMainWindow> {> >Q_OBJECT> > public>:> >MainWindow(QWidget *parent = nullptr);> >~MainWindow();> > private>:> >Ui::MainWindow *ui;> };> #endif // MAINWINDOW_H> |
>
>
c++ gui
main.cpp
C++
#include 'mainwindow.h'> > #include> > int> main(>int> argc,>char> *argv[])> {> >QApplication a(argc, argv);> >MainWindow w;> >w.show();> >return> a.exec();> }> |
>
>
vuonna tietokone keksittiin
mainWindow.cpp
C++
#include 'mainwindow.h'> #include './ui_mainwindow.h'> > MainWindow::MainWindow(QWidget *parent)> >: QMainWindow(parent)> >, ui(>new> Ui::MainWindow)> {> >ui->setupUi(>this>);> }> > MainWindow::~MainWindow()> {> >delete> ui;> }> |
>
>
ubuntu mikä komento
mainWindow.ui
XML
xml version='1.0' encoding='UTF-8'?> |
>
>
Huomaa, että mainWindow.ui on kirjoitettu XML-kielellä. Tämä johtuu siitä, että Qt kirjoittaa käyttöliittymätiedostonsa XML-muodossa.
Vaihe 4: Rakenna ja käytä
Voimme rakentaa ja ajaa Qt-projektin Qt Creatorissa yhdellä napsautuksella.
Lähtö

GUI-sovellusten edut
GUI-sovellukset tarjoavat useita etuja, jotka parantavat käyttökokemusta ja tehostavat kehitystä:
- Käyttäjäystävällinen käyttöliittymä: Graafisten käyttöliittymien (GUI) käyttö tarjoaa yksinkertaisen ja helppokäyttöisen lähestymistavan ohjelmistosovelluksiin verrattuna muihin lähestymistapoihin, jotka vievät enemmän aikaa.
- Parannettu interaktiivisuus: Se sisältää interaktiivisia ominaisuuksia, kuten painikkeita, avattavia valikoita, valintaruutuja ja liukusäätimiä, jotka antavat käyttäjille valtaa kokemuksistaan.
- Eri alustojen yhteensopivuus: Kielet, kuten Qt, mahdollistavat graafisen käyttöliittymän luomisen Windowsille, macOS:lle, Linuxille C++:lla.
- Nopea prototyyppi: Monien GUI-rakentajien ja suunnittelutyökalujen läsnäolo GUI-kehyksissä edistää käyttöliittymien nopeaa prototyyppiä, mikä nopeuttaa koko kehitysprosessia.