Programiranje grafičnih uporabniških vmesnikov s C++ in Qt/Uvod/Grafični uporabniški vmesniki

Uporabniški vmesnik

uredi

Uporabniški vmesnik je skupek načinov s katerimi ljudje vzpostavimo stik z neko napravo, strojem oziroma drugim sistemom. Komunikacija pri tem poteka v dve smeri. Prek vhodnega dela uporabnik sistem upravlja, izhodni del pa uporabniku prikazuje rezultate dejanj in stanje sistema. Pri avtomobilu na primer med vhodne priprave štejemo volan in stopalko za plin, s katerima usmerjamo vozilo in spreminjamo hitrost. Med izhodne priprave pa štejemo merilnike na armaturni plošči, ki nam med drugim prikazujejo trenutno hitrost in količino goriva.

V našem primeru je naprava, s katero ima uporabnik opravka, računalnik na katerem tečejo raznovrstni programi. Ker še nismo v času Zvezdnih stez in računalniki še ne znajo brati naših misli ali razumeti govornih ukazov, je bilo potrebno iznajti tehnično lažje izvedljive uporabniške vmesnike.

Ukazna vrstica

uredi

Če odmislimo prve računalnike, ki so na vhodnem koncu uporabljali svežnje luknjanih kartic, na izhodnem koncu pa ponavadi vrstični tiskalnik, so prvi uporabniški vmesniki uporabljali ukazno vrstico (angl. Command Line Interface, CLI). Pri tem se ukaze vnaša prek tipkovnice, rezultat pa se izpiše na zaslonu (ali pa preusmeri v datoteko ali na tiskalnik). Rezultati nekega ukaza se lahko uporabijo tudi kot vhodni podatki za sledeči ukaz in na ta način je možno sestaviti ukazno verigo, ki opravi kako zelo zapleteno nalogo. Za tako opravilo bi lahko z drugimi vrstami uporabniških vmesnikov porabili precej več časa, ali pa na drug način sploh ni izvedljivo. Ena izmed težav pri ukazni vrstici je čas, potreben za učenje ukazov in njihovih možnosti. Primer je ukaz ls v Linuxu, oziroma podoben ukaz dir v Windows.

Besedilni uporabniški vmesnik

uredi

Vmesna oblika uporabniškega vmesnika je besedilni vmesnik (angl. Textual User Interface, TUI). Pri tem vmesnik ni omejen le na eno vrstico ampak ponavadi zasede vse zaslon. Uporabniku so razpoložljiva dejanja predstavljena na zaslonu in ni se mu treba v naprej učiti ukazov. Gradniki vmesnika so predstavljeni le s preprostimi znaki in simboli. Tak vmesnik danes uporablja večina programov za nastavljanje BIOS-a in na primer program Midnight Commander v Linuxu.

Grafični uporabniški vmesnik

uredi

Danes najbolj razširjen in uporabljan je grafični uporabniški vmesnik (angl. Graphical User Interface, GUI). Na vhodnem delu se je tipkovnici pridružila še miška, oziroma kaka druga vhodna naprava, s katero premikamo kazalec po zaslonu z visoko ločljivostjo. Razpoložljiva dejanja in indikatorji stanja so predstavljeni s splošno namenskimi grafičnimi elementi, oziroma gradniki (angl. widget) med katerimi so, okna, meniji, ikone, gumbi, drsniki, besedilne oznake in vnosna polja. Tudi tu je, podobno kot pri besedilnem uporabniškem vmesniku, učenja precej manj kot pri ukazni vrstici. Uporabnik namreč direktno upravlja z vidnimi grafičnimi gradniki.

Koncept grafičnega vmesnika, kakršen je v uporabi danes, je nastal že v 70. letih dvajsetega stoletja. Razvili so ga pri podjetju Xerox, v raziskovalnem centru v Palo Altu. Od takrat je bilo sprememb relativno malo. Izboljšal se je izgled in dodala kaka nova vrsta gradnika. Dosedanji poskusi večjih sprememb, kakršen je bil na primer vmesnik Microsoft Bob, so se povečini končali precej klavrno.

Prihodnost

uredi

S pohodom zmogljivih grafičnih kartic s strojno pospešeno 3D grafiko se seveda stvari zadnje čase pomikajo v smer vse večjega dodajanja tretje dimenzije v uporabniški vmesnik. Dober primer za to je vmesnik Metisse, ki je vključen v distribucijo Mandriva Linux. Bolj znan pa je verjetno Compiz Fusion, ki z bogato bero 3D učinkov navdušuje uporabnike Linuxa. V precej manjši meri je tretja razsežnost prisotna v Mac OS X, še manj pa v Windows, kjer je s prihodom Windows Vista na voljo vmesnik Aero. Med koncepti na poti do pravega 3D vmesnika je vse bolj priljubljen povečljivi uporabniški vmesnik (angl. Zooming User Interface, ZUI), pri katerem lahko spreminjamo povečavo ter smer pogleda na delovno okolje in s tem količino ter vrsto prikazanih podrobnosti. Zametki takega vmesnika bodo prvič na voljo z izdajo namizja KDE 4.0, že pa nekaj podobnega najdemo v nekaterih novejših mobilnih telefonih.