Monet paketit ovat saatavilla sekä GTK- että QT-versioina.

  • Mitä eroa niiden välillä on?
  • Onko suorituskyvyssä tai työskentelytavassa eroa?

Vastaus

Yleensä eron käyttäjän näkökulmasta tulisi olla puhtaasti kosmeettinen. Qt ja GTK asettavat teemat itsenäisesti (esim. qtconfig tai gtk-chtheme), mutta jotkut työpöytäympäristöt ovat yhdenmukaistaneet tämän.

GNU / Linux on yleensä enemmän GTK-suuntautunut kuin Qt siinä mielessä, että edellinen on yleisemmin käytetty, joten haluat ehkä suositella sitä, kun sinulle annetaan valinta; poikkeus olisi KDE, joka käyttää Qt: tä omissa sovelluksissaan – vaikka mikään näistä tekijöistä ei ole kovin tärkeä.

A merkittävämpi ongelma olisi tilanteissa, joissa RAM-muistia on hyvin vähän (kuten < 1/4 Gt); tässä tapauksessa luultavasti haluat järjestelmän käyttävän yksinomaan GTK tai Qt, mutta ei molempia. Useimmissa nykyaikaisissa työasemissa, joissa on gigatavua muistia, tämä ei kuitenkaan ole huolenaihe. – molempien laaja käyttö voi maksaa ylimääräisen (villin arvauksen) 50-100 Mt.


Huomaa, että GTK: sta (2 ja 3) ja Qt: stä (3 ja 4) on myös erilaisia versioita ) edelleen yleisesti käytetty, mutta ei taaksepäin yhteensopiva (joten Qt 3 -sovellus ei voi käyttää Qt 4 -kirjastoja). Molemmat versiot saattavat kuitenkin olla järjestelmässä samanaikaisesti, ja tämän vakavin seuraus olisi sekaannuksen mahdollisuus ja hieman enemmän muistin paisumista.

Kommentit

  • Olisin erittäin kiinnostunut tietämään, miten tulet siihen johtopäätökseen, että Linux on enemmän GTK-suuntautunut? Linux viittaa tyypillisesti vain Linux-ytimeen, jolla ei yleensä ole ennakkoluuloja kumpaakaan työkalupakettia kohtaan, koska se on käyttöjärjestelmän ydin, ei GUI-käyttäjän tila. Jos tarkoitit viittaavan GNU / Linuxiin käyttöjärjestelmänä, olen ’ kiistänyt vaatimuksesi. Sanoa, että GNU / Linux on enemmän GTK-suuntautunut, koska Ubuntu on suosituin distro, on kuin sanoa Christiano Ronaldo olevan paras urheilija, koska jalkapallo on pelatuin peli maailmassa. (Kiistän myös tämän)
  • @darnir I ’ ll laittaa ” GNU ” -merkintä, koska tarkoitin käyttöjärjestelmää puhekielessä. ’ Puolustan väitteeni siitä, että se on enemmän GTK kuin Qt: GTK (joka alun perin tarkoitti ” GIMP-työkalusarja ” ja GIMP = GNU-kuvankäsittelyohjelma), GIMP ja GNOME ovat kaikki GNU-projekteja ja keskeinen osa käyttöjärjestelmän (käyttäjämaan) visiota , joka pariksi ytimen kanssa on se, mitä ” linux ” on historiallisesti. Joten GTK kehitettiin ensisijaisesti linuxille, se on myös natiivi C (vs. Qt ’ s C ++), kun taas Qt on pikemminkin aidosti cross-platform
  • Vaikka olen samaa mieltä kanssasi GTK: n historiasta ja etymologiasta, tämä ei implisiittisesti tarkoita, että GNU / Linux olisi suuntautunut GTK: lle. Itse asiassa päinvastoin on totta ja se vahvistetaan lausunnoilla. GTK on suunniteltu linuxille, ei päinvastoin. ’ puolustan väitöstani väittäen, että Linux ytimenä ja GNU / Linux käyttöjärjestelmänä ovat agnostisia kohti mitä tahansa GUI Toolkitia. GTK nähdään usein luonnossa enemmän kuin Qt, koska Ubuntu ’ on erittäin riippuvainen siitä. Myös se, että se on kevyempi järjestelmäresursseissa, auttaa.
  • @darnir Kyllä, käyttöjärjestelmä on pohjimmiltaan agnostinen WRT GUI -työkalupakki – en väittäisi, että GTK on ” natiivi ” -työkalupakki jne. Mutta ’ olet väärässä siitä, miksi se ” nähdään usein luonnossa enemmän ” – GTK oli alustan eniten käytetty työkalupaketti ennen kuin Ubuntu edes ollut olemassa edellä mainitun suhteen vuoksi perusosat, joita kaikki distrot käyttävät laajasti. Siksi useimmat linux-käyttöliittymäsovellukset ovat jo GTK-sovelluksia, ja miksi ilman asiayhteyden jatkamista on järkevää kertoa uudelle käyttäjälle ” Sinulle voi yhtä hyvin valita yhden ”, kaikki muut ovat yhtä suuret. Mutta sillä ei ole väliä.
  • Useiden erilaisten työkalupakettien käyttö vaatisi myös paljon enemmän tallennustilaa; En mielestäni ’ usko, että tämä vaikuttaisi performaceen, mutta vain tilaa muihin asioihin.

Vastaa

Ei, tällaisten ohjelmien sisäisessä rakenteessa ei ole eroa. GTK ja Qt ovat käyttöliittymän työkalupaketteja ja kehyksiä. Ne ovat kirjastoja, joita kehittäjät käyttävät graafisten rajapintojen suunnittelussa.

Kun graafinen (GUI) ohjelma kirjoitetaan, ensin kehitetään sen ytimen sisäosat. Tämä saa ohjelman ajamaan. Et koskaan näe ydintä, ne vain suoritetaan taustalla. Tämän ytimen päälle on suunniteltu käyttöliittymä.

Nyt kehittäjät voivat suunnitella koko käyttöliittymän tyhjästä tai käyttää muiden tekemiä malleja uudelleen. Suunnittelun uudelleenkäytöllä on suuri etu. Sen avulla kaikki tietokoneesi ohjelmat näyttävät samanlaisilta. Siksi he käyttävät GUI-työkalupaketteja. GTK ja Qt ovat kaksi erittäin yleistä käyttöliittymän työkalupakettia.

GTK on GNOMEn vakiotyökalupaketti, kun taas KDE käyttää Qt: tä. Käyttäjän näkökulmasta vain ulkoasu eroaa. Ohjelma pysyy sydämeltään samana.

Vastaus

Toinen tärkeä huomioitava näkökohta on Qt-lisensointi linkki heidän lisenssitietoihinsa , joka on nimenomaisesti asetettu vapaasti saataville useimmille voittoa tavoittelemattomille projekteille, mutta kaupallinen suhde on mahdollinen ja sillä voi olla rajoituksia tälle tapaukselle. GTK, ilmoita nimenomaisesti, että sitä voidaan käyttää vapaasti jopa omistetuissa sovelluksissa GTK-lause :

Are there any licensing restrictions? GTK is free software and part of the GNU Project. However, the licensing terms for GTK, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. 

Monimutkaisen graafisen käyttöliittymän kehittämisen keskeinen osa perustuu GLADEn suunnittelupakettiin ja sopiiko se lähestymistapaan glade link . Sen tavoitteena on olla alustojen välinen, mutta se ei välttämättä ole yhtä laajasti tuettu cross-platform kuin Qt.

Vastaus

Kuinka he vertailevat vastaaviin objektien malleihinsa ja kuinka tarkasti seuraavat C ++ -standardia – rajallisen kokemukseni mukaan QT näytti olevan hieman hakkeroinut sen koodigeneraattoreiden kanssa ja keksinyt pyörän uudelleen omilla toiminnallisesti vastaavilla luokkillaan jousille ja luokille. Lyhyesti sanottuna QT: llä näytti olevan enemmän viheltimiä ja kelloja, joista olen varma, että monet piti hyödyllisenä, mutta näytti siltä, että sillä oli myös raskas, omistettu tunne. Kuten sanoin, minulla oli rajallinen kokemus siitä (ja vielä vähemmän Gtk: stä). Haluaisin mielipiteitä heidän vertailustaan tänään – kehittäjän näkökulmasta, joka nojaa yleisiin lähestymistapoihin asioihin, jotka yrittävät käyttää C ++ -standardeja (kuten STL, C ++ -merkkijonot, ketjut jne.)

Kommentit

  • Tämä kuulostaa paljolti henkilökohtaiselta mielipiteeltä, ei tosiseikkoihin perustuvasta vastauksesta, jota ’ odotetaan useimmilla SE-sivustoilla. Huomaa myös, että QString kaltaiset asiat ovat syntyneet välttämättömyydestä vuosikymmeniä sitten, kun STL: ssä ei ollut vastaavia piirteitä. Nyt kun modernit C ++ -standardit ovat hankkineet suurimman osan ominaisuuksista, monet Qt-luokat ovat vain ohuita kääreitä natiivien C ++ -ratkaisujen ympärille.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *