logo

Uvod v programiranje GUI v C++

V C++ je programiranje grafičnega uporabniškega vmesnika (GUI) pomembno pri razvoju sodobnih aplikacij, kjer imajo uporabniki na voljo lepo grafiko, s katero lahko delajo. Čeprav je C++ običajno povezan s sistemskim programiranjem in pisanjem iger, je lahko odlična alternativa pisanju GUI. V tem članku bomo razpravljali o programiranju GUI v C++, nekaterih priljubljenih knjižnicah GUI za C++ in o tem, kako ustvariti osnovno aplikacijo GUI v C++.

Predpogoji: Osnove C++, OOP C++, nekaj knjižnic GUI.



Kaj je GUI (grafični uporabniški vmesnik)?

Grafični uporabniški vmesnik (GUI) je vizualni aplikacijski vmesnik, ki je na voljo z uporabo grafike, kot so okna, besedilna polja in gumbi, prek katerih lahko uporabniki komunicirajo s programsko opremo. GUI ponuja interaktivno platformo, ki je enostavna za uporabo v primerjavi z vmesnikom ukazne vrstice (CLI), saj lahko uporabniki uporabljajo miško ali druge vnosne naprave, kot je zaslon na dotik itd., ne da bi se zanašali le na tipkovnico.

Glavni koncepti programiranja GUI

Grafični uporabniški vmesnik (GUI) vključuje oblikovanje oken, pogovornih oken, gumbov itd., ki so vse komponente interaktivnega uporabniškega vmesnika. Nato nadziramo te pripomočke z uporabo obdelovalcev dogodkov, kot so onClick, onHover itd.

Glavni koncepti programiranja GUI so:



Pripomočki

Grafični uporabniški vmesnik (GUI) je sestavljen iz gradnikov. To na primer vključuje gumbe, besedilna polja, oznake itd. Lastnosti in vedenje vsakega gradnika je mogoče prilagoditi glede na posebne potrebe aplikacije. V knjižnici GUI so na splošno naslednji gradniki:

  1. Okno: Okenski okvir najvišje ravni, ki v sebi gosti druge pripomočke.
  2. Gumb: Gumb, ki ga je mogoče klikniti in ima s klikom povezan dogodek.
  3. Oznaka: Preprosto besedilo samo za branje
  4. Potrditveno polje : polje, ki ponuja možnosti za vklop ali izklop.
  5. Radijski gumb: Polje, ki ponuja možnosti za vklop ali izklop, vendar lahko izberemo samo en izbirni gumb v skupini.
  6. Spustni meni/kombinirano polje : ob kliku odpre spustni meni. V neodprti obliki je lahko prikazan samo en artikel.
  7. besedilno polje: Območje besedila, ki ga je mogoče urejati.
  8. Seznamsko polje: Škatla z več predmeti in drsnim trakom za pomikanje po vseh.
  9. Drsnik: Navigacijski pripomoček za premikanje po aplikaciji.
  10. meni: Meni, prikazan na vrhu, ponuja uporabniku aplikacije različne možnosti.
  11. Pogovorno okno: Polje, ki je prikazano na vrhu okna. Včasih za prikaz obvestila.
  12. Mreža: Uporablja se za upravljanje postavitve uporabniškega vmesnika.

Upravljanje postavitve

Aplikacije GUI morajo biti optimizirane za različne zaslone različnih velikosti, ločljivosti itd., kar skuša ohraniti privlačen, a učinkovit uporabniški vmesnik z različnimi pripomočki, organiziranimi na zaslonu.

Obravnava dogodkov

Pri programiranju GUI so dogodki, kot so kliki gumbov ali pritiski tipk, kritični. Te dogodke obravnava aplikacija, da lahko sledi dejanjem uporabnika. Z različnimi pripomočki so povezani različni dogodki. Na primer, za gumb, ki ga je mogoče klikniti, so povezani dogodki:



  1. Kliknite Dogodek
  2. Dogodek premikanja miške
  3. Osredotočite se na dogodek
  4. Dogodek Focus Out

Priljubljene knjižnice GUI za C++

C++ ima veliko knjižnic GUI, neodvisnih od platforme, ki jih je mogoče uporabiti za razvoj aplikacije GUI. Nekateri priljubljeni so:

dekodiraj base64 javascript
  1. gtkmm
  2. Qt
  3. wxWidgets
  4. Dragi ImuGui

Primer aplikacije C++ GUI

Za spodnje programe bomo uporabljali naslednja orodja:

  1. Knjižnica Qt : Knjižnica GUI za naš program.
  2. Qt Designer: Interaktivni oblikovalec predlog GUI za Qt.
  3. Qt Creator: IDE za Qt GUI aplikacije

Zdaj si bomo ogledali resnične primere programiranja GUI s C++ in Qt. Razvili bomo osnovno aplikacijo Hello World a gumb in ko kliknete gumb, se prikaže pogovorno okno z besedilom Hello World. Izvedli ga bomo po naslednjih korakih:

1. korak: Ustvarjanje projekta Qt

Odprli bomo Qt Creator in ustvarili nov projekt tipa Qt Widget Application. Vnesite ime, izberite lokacijo in pripravljeni ste. Ustvarjalec Qt bo ustvaril projekt z vsemi zahtevanimi datotekami.

ustvarjanje-projekt

2. korak: Oblikovanje okna

Nato bomo odprli datoteko mainWindow.ui . Ta datoteka vsebuje uporabniški vmesnik aplikacije. Dodali bomo eno besedilno oznako s pomočjo oblikovalca, ki se je pravkar odprl.

Zdaj bodo naše datoteke vsebovale naslednjo kodo:

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>

>

>

vstavite vodni žig v besedo

main.cpp

C++




#include 'mainwindow.h'> > #include> > int> main(>int> argc,>char> *argv[])> {> >QApplication a(argc, argv);> >MainWindow w;> >w.show();> >return> a.exec();> }>

>

>

java primerek

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;> }>

>

>

ssh polna oblika

mainWindow.ui

XML




xml version='1.0' encoding='UTF-8'?> MainWindowclass> 0x>0y>800 širina>600height> rect> property> MainWindowsstring> lastnost> 260x>140y>81širina>71height> rect> property> Hello Worldstring> property> widget> widget> 0x>0y>800 širina>22height> rect> property> widget>widget> ui>>

>

>

Opazite, da je mainWindow.ui napisan v XML. To je zato, ker Qt piše svoje datoteke uporabniškega vmesnika v XML.

4. korak: Zgradite in zaženite

Projekt Qt lahko zgradimo in zaženemo v Qt creatorju z enim klikom.

Izhod

Pozdravljen, svet

Prednosti GUI aplikacij

Aplikacije GUI ponujajo več prednosti, ki prispevajo k boljši uporabniški izkušnji in poenostavljenemu razvoju:

  • Uporabniku prijazen vmesnik: Uporaba grafičnih uporabniških vmesnikov (GUI) zagotavlja preprost in za uporabo enostaven pristop k programskim aplikacijam v primerjavi z drugimi pristopi, ki bi zahtevali več časa.
  • Izboljšana interaktivnost: Zajema interaktivne funkcije, kot so gumbi, spustni meniji, potrditvena polja in drsnik, ki uporabnikom dajejo moč nad njihovimi izkušnjami.
  • Združljivost med platformami: Jeziki, kot je Qt, omogočajo ustvarjanje GUI aplikacije za Windows, macOS, Linux s C++.
  • Hitra izdelava prototipov: Prisotnost številnih razvijalcev GUI in orodij za oblikovanje v ogrodjih GUI spodbuja hitro izdelavo prototipov vmesnikov, zaradi česar je celoten razvojni proces hitrejši.