logo

Johdatus GUI-ohjelmointiin C++:ssa

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:

  1. Ikkuna: Huipputason ikkunakehys, joka isännöi sisällään muita widgetejä.
  2. Painike: Napsautettava painike, jonka napsautukseen liittyy jokin tapahtuma.
  3. Tunniste: Yksinkertaista vain luku -tekstiä
  4. Valintaruutu : Laatikko, joka tarjoaa asetukset päälle tai pois päältä.
  5. Radiopainike: Laatikko, joka tarjoaa vaihtoehdot päälle tai pois päältä, mutta voimme valita vain yhden valintanapin ryhmästä.
  6. Pudotusvalikko/Combo Box : Avaa avattavan valikon, kun sitä napsautetaan. Vain yksi kohde voidaan näyttää avaamattomassa muodossa.
  7. Tekstilaatikko: Muokattava tekstialue.
  8. Luettelolaatikko: Laatikko, jossa on useita kohteita ja vierityspalkki käydäksesi läpi ne kaikki.
  9. Liukusäädin: Navigointiwidget, jota käytetään liikkumiseen sovelluksessa.
  10. Menu: Yläosassa näkyvä valikko tarjoaa erilaisia ​​vaihtoehtoja sovelluksen käyttäjälle.
  11. Valintaikkuna: Laatikko, joka näkyy ikkunan yläosassa. Joskus näyttää ilmoitus.
  12. 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:



  1. Napsauta Tapahtuma
  2. Hiiren siirtotapahtuma
  3. Keskity tapahtumaan
  4. 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
  1. gtkmm
  2. Qt
  3. wxWidgetit
  4. Hyvä ImuGui

Esimerkki C++ GUI -sovelluksesta

Käytämme seuraavia työkaluja alla oleville ohjelmille:

  1. Qt-kirjasto : Ohjelmamme GUI-kirjasto.
  2. Qt-suunnittelija: Interaktiivinen GUI-mallin suunnittelija Qt:lle.
  3. 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.

luova projekti

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'?> MainWindowclass> 0x>0v>800 leveys>600height> rect> property> MainWindowsstring> ominaisuus> 260x>140v>81 leveys>71height> rect> property> Hei Worldstring> ominaisuus> widget> widget> 0x>0v>800 leveys>22height> rect> property> widget>widget> ui>>>

>

>

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ö

Hei maailma

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.