Programmā C++ grafiskā lietotāja interfeisa (GUI) programmēšana ir svarīga mūsdienu lietojumprogrammu izstrādē, kur lietotājiem ir lieliska grafika, ar kuru viņi var strādāt. Lai gan C++ parasti tiek saistīts ar sistēmas programmēšanu un spēļu rakstīšanu, tā var būt lieliska alternatīva GUI rakstīšanai. Šajā rakstā mēs apspriedīsim GUI programmēšanu C++, dažas populāras C++ GUI bibliotēkas un to, kā izveidot pamata GUI lietojumprogrammu C++.
Priekšnosacījumi: C++, C++ OOP pamati, dažas GUI bibliotēkas.
Kas ir GUI (grafiskā lietotāja saskarne)?
Grafiskā lietotāja saskarne (GUI) ir vizuāla lietojumprogrammas saskarne, kas tiek nodrošināta, izmantojot grafiku, piemēram, logus, tekstlodziņus un pogas, ar kuru palīdzību lietotāji var sazināties ar programmatūru. GUI piedāvā interaktīvu un viegli lietojamu platformu salīdzinājumā ar komandrindas interfeisu (CLI), jo lietotāji var izmantot peli vai citas ievades ierīces, piemēram, skārienekrānu utt., nepaļaujoties tikai uz tastatūru.
Galvenie GUI programmēšanas jēdzieni
Grafiskais lietotāja interfeiss (GUI) ietver logu, dialogu, pogu u.c. projektēšanu, kas visi ir interaktīvi lietotāja interfeisa komponenti. Pēc tam mēs kontrolējam šos logrīkus, izmantojot notikumu apdarinātājus, piemēram, onClick, onHover utt.
tkintera rāmis
Galvenie GUI programmēšanas jēdzieni ir:
Logrīki
Grafisko lietotāja interfeisu (GUI) veido logrīki. Piemēram, tie ietver pogas, tekstlodziņus, etiķetes utt. Katra logrīka īpašības un darbības var pielāgot atbilstoši lietojumprogrammas īpašajām vajadzībām. GUI bibliotēkā parasti ir šādi logrīki:
- Logs: Augstākā līmeņa loga rāmis, kurā atrodas citi logrīki.
- Poga: Noklikšķināma poga, kuras klikšķis ir saistīts ar kādu notikumu.
- Etiķete: Vienkāršs tikai lasāms teksts
- Izvēles rūtiņa : lodziņš, kas nodrošina iespēju ieslēgt vai izslēgt.
- Radio poga: Lodziņš, kas nodrošina iespēju ieslēgt vai izslēgt, bet grupā varam izvēlēties tikai vienu radiopogu.
- Nolaižamā izvēlne/kombinētais lodziņš : noklikšķinot, tiek atvērta nolaižamā izvēlne. Neatvērtā formā var parādīt tikai vienu vienumu.
- Tekstlodziņš: Rediģējams teksta apgabals.
- Listbox: Lodziņš ar vairākiem vienumiem un ritjoslu, lai tos visus apskatītu.
- Slīdnis: Navigācijas logrīks, ko izmanto, lai pārvietotos pa lietojumprogrammu.
- Izvēlne: Augšdaļā redzamā izvēlne lietojumprogrammas lietotājam piedāvā dažādas opcijas.
- Dialoglodziņš: Lodziņš, kas tiek parādīts loga augšdaļā. Dažreiz, lai parādītu paziņojumu.
- Režģis: Izmanto lietotāja saskarnes izkārtojuma pārvaldībai.
Izkārtojuma pārvaldība
GUI lietojumprogrammas ir jāoptimizē dažādiem ekrāniem ar dažādu izmēru, izšķirtspēju utt., lai saglabātu pievilcīgu, bet efektīvu lietotāja saskarni ar dažādiem logrīkiem, kas sakārtoti ekrānā.
Pasākumu apstrāde
GUI programmēšanā tādi notikumi kā pogu klikšķi vai taustiņu nospiešana ir ļoti svarīgi. Šos notikumus apstrādā lietotne, lai tā varētu sekot lietotāja darbībām. Ar dažādiem logrīkiem ir saistīti dažādi notikumi. Piemēram, noklikšķināmai pogai saistītie notikumi ir:
- Noklikšķiniet uz Notikums
- Peles pārvietošanas pasākums
- Koncentrējieties uz notikumu
- Fokusa notikums
Populāras C++ GUI bibliotēkas
C++ ir daudzas no platformas neatkarīgas GUI bibliotēkas, kuras var izmantot, lai izstrādātu GUI lietojumprogrammu. Daži no populārākajiem ir:
- gtkmm
- Qt
- wxWidgets
- Cienījamais ImuGui
C++ GUI lietojumprogrammas piemērs
Tālāk norādītajām programmām izmantosim šādus rīkus:
- Qt bibliotēka : mūsu programmas GUI bibliotēka.
- Qt dizainers: Interaktīvs GUI veidņu dizainers Qt.
- Qt veidotājs: IDE Qt GUI lietojumprogrammām
Tagad mēs apskatīsim reālus GUI programmēšanas gadījumus ar C++ un Qt. Mēs izstrādāsim pamata programmu Hello World ar pogu, un, noklikšķinot uz pogas, parādīsies dialoglodziņš ar tekstu Hello World. Mēs to ieviesīsim, izmantojot šādas darbības:
1. darbība: Qt projekta izveide
Mēs atvērsim Qt Creator un izveidosim jaunu Qt logrīka lietojumprogrammas tipa projektu. Ievadiet vārdu, izvēlieties atrašanās vietu un varat doties. Qt veidotājs izveidos projektu ar visiem nepieciešamajiem failiem.

2. darbība: loga projektēšana
Pēc tam mēs atvērsim failu mainWindow.ui . Šis fails satur lietojumprogrammas lietotāja interfeisu. Mēs pievienosim vienu teksta iezīmi, izmantojot tikko atvērto noformētāju.
Tagad mūsu failos būs šāds kods:
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> |
>
>
salīdzināt ar java metodi
main.cpp
C++
#include 'mainwindow.h'> > #include> > int> main(>int> argc,>char> *argv[])> {> >QApplication a(argc, argv);> >MainWindow w;> >w.show();> >return> a.exec();> }> |
>
>
tīkla topoloģija
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;> }> |
>
>
1 miljons skaitlis
mainWindow.ui
XML
xml version='1.0' encoding='UTF-8'?> |
>Ņemiet vērā, ka mainWindow.ui ir rakstīts XML formātā. Tas ir tāpēc, ka Qt savus lietotāja interfeisa failus raksta XML formātā. 4. darbība: izveidojiet un palaidiet
Mēs varam izveidot un palaist Qt projektu programmā Qt Creator, izmantojot vienu klikšķi.
Izvade
GUI lietojumprogrammu priekšrocības
GUI lietojumprogrammas piedāvā vairākas priekšrocības, kas veicina labāku lietotāja pieredzi un racionalizētu izstrādi:
- Lietotājam draudzīgs interfeiss: Grafisko lietotāja interfeisu (GUI) izmantošana nodrošina vienkāršu un viegli lietojamu pieeju programmatūras lietojumprogrammām salīdzinājumā ar citām pieejām, kas aizņemtu vairāk laika.
- Uzlabota interaktivitāte: Tajā ir iekļautas interaktīvas funkcijas, piemēram, pogas, nolaižamās izvēlnes, izvēles rūtiņas un slīdnis, kas lietotājiem sniedz iespēju ietekmēt savu pieredzi.
- Saderība starp platformām: Tādas valodas kā Qt ļauj izveidot GUI lietojumprogrammu operētājsistēmām Windows, macOS, Linux ar C++.
- Ātrā prototipēšana: Daudzu GUI veidotāju un projektēšanas rīku klātbūtne GUI ietvaros veicina ātru saskarņu prototipu izveidi, padarot visu izstrādes procesu ātrāku.