Sok csomag elérhető GTK és QT verzióban is.

  • Mi a különbség közöttük?
  • Van-e különbség a teljesítményben vagy a munkamódszerben?

Válasz

Általában a felhasználói szempontból a különbségnek pusztán kozmetikai jellegűnek kell lennie. A Qt és a GTK egymástól függetlenül állítja be a témákat (például: qtconfig vagy gtk-chtheme), de ezt egyes asztali környezetek harmonizálják.

A GNU / Linux általában inkább GTK-orientált, mint Qt abban az értelemben, hogy az előbbi a leggyakrabban használt, ezért érdemes lehet előnyben részesíteni, amikor megadják a választást; kivétel lenne a KDE alatt, amely a Qt-t használja saját alkalmazásaihoz – bár ezek közül a tényezők egyike sem nagyon fontos.

A ennél sokkal jelentősebb probléma a nagyon korlátozott RAM-mal (például < 1/4 GB) rendelkező helyzetekben lenne; ebben az esetben valószínűleg azt szeretné, ha a rendszer kizárólag a GTK vagy Qt, de nem mindkettő. A legtöbb modern, gigabájt memóriával rendelkező asztali számítógépen azonban ez nem okoz gondot – mindkettő széleskörű használata extra (vad tipp) 50-100 MB-ba kerülhet.


Vegye figyelembe, hogy a GTK (2 és 3) és a Qt (3 és 4 ) még mindig széles körben használják, de nem kompatibilisek a visszafelé (tehát egy Qt 3 alkalmazás nem tudja használni a Qt 4 könyvtárakat). Mindkét verzió azonban létezhet egy rendszeren egyszerre, és ennek legsúlyosabb következménye a zavartság és a memória kissé nagyobb puffanása lehet.

Megjegyzések

  • Nagyon érdekelne, hogy hogyan juthat arra a következtetésre, hogy a Linux inkább GTK-orientált? A Linux általában csak a Linux kernelt jelenti, amely általában nincs előítélet egyik eszközkészlet felé sem, mivel ez operációs rendszer kernel, nem GUI felhasználói tér program. Ha a GNU / Linux operációs rendszerre akartál utalni, akkor ‘ továbbra is vitatom az igényedet. Azt mondani, hogy a GNU / Linux inkább GTK-orientált, mert az Ubuntu a legnépszerűbb disztribúció, olyan, mintha Christiano Ronaldót mondanánk a legjobb sportembernek, mert a futball a legtöbbet játszott játék a világon. (Ezt én is

vitatom)

  • @darnir I ‘ ll a ” GNU ” minősítő, mivel köznyelven az operációs rendszert értettem. ‘ megvédem tézisemet, miszerint ez inkább GTK, mint Qt orientált: GTK (ami eredetileg a ” GIMP eszközkészlet “, és a GIMP = a GNU képmanipulációs program), a GIMP és a GNOME mind GNU projekt, és az operációs rendszer (felhasználói ország) jövőképének központi része , amely a kernellel párosul, ami történelmileg ” linux “. Tehát a GTK-t elsősorban a linux számára fejlesztették ki, emellett natív C (Qt ‘ s C ++), míg a Qt inkább valóban cross-platform
  • Bár egyetértek veled a GTK történetével és etimológiájával kapcsolatban, ez még nem jelenti implicit módon azt, hogy a GNU / Linux GTK-orientált lenne. Valójában ennek az ellenkezője igaz és ezt állításaid is megerősítik. A GTK-t a linux számára tervezték, nem pedig fordítva. ‘ megvédem tézisemet, kijelentve, hogy a Linux mint kernel és a GNU / Linux mint operációs rendszer agnosztikus minden GUI eszközkészlet felé. A GTK a vadonban gyakran több, mint Qt, az Ubuntu ‘ erős függősége miatt. Segít az a tény is, hogy könnyebb a rendszer erőforrásain.
  • @darnir Igen, az operációs rendszer lényegében agnosztikus WRT a GUI eszköztár – nem állítanám, hogy a GTK ” a natív ” eszköztár stb. De ‘ téved, miért ” gyakran a vadonban látható ” – A GTK volt a legszélesebb körben használt eszközkészlet a platformon még azelőtt, hogy az Ubuntu még létezett volna a fent említett kapcsolat miatt alapvető részek, amelyeket minden disztrók széles körben használnak. Ezért van az, hogy a legtöbb linux GUI-alkalmazások már GTK-alkalmazások, és miért van további kontextus nélkül folytatni az új felhasználót ” akár azt is kiválaszthatja, hogy “, minden más egyenlő. De ez nem igazán számít.
  • Több különböző eszközkészlet felhasználása sokkal több tárhelyet is igényelne; Nem hiszem, hogy ‘ nem gondolom, hogy ez hatással lenne az performace-re, csak a többi dologra.
  • Válasz

    Nem, nincs különbség az ilyen programok belső felépítésében. A GTK és a Qt a felhasználói felület eszköztára és keretrendszere. Ezek olyan könyvtárak, amelyeket a fejlesztők használnak grafikus interfészek tervezéséhez.

    Amikor grafikus (GUI) programot készítenek, először annak belső belsőségeit fejlesztik ki. Ez indítja el a programot. Soha nem látod a magot, egyszerűen végrehajtják a háttérben. Ennek a magnak a tetején egy felhasználói felületet (UI) terveztek.

    Most a fejlesztők megtervezhetik a teljes felületet a semmiből, vagy újra felhasználhatják mások által készített terveket. A tervezés újrafelhasználása nagy előnnyel jár. Lehetővé teszi, hogy a számítógép összes programja hasonló legyen. Ezért GUI eszköztárakat használnak. A GTK és a Qt két rendkívül gyakori GUI eszközkészlet.

    A GTK a GNOME szabványos eszköztára, míg a Qt-t a KDE használja. A felhasználó szempontjából csak a küllem különbözik. A program a szívében ugyanaz marad.

    Válasz

    Egy másik fontos szempont, amelyet figyelembe kell venni, a Qt licencelés link a licenckiadásukhoz , amely kifejezetten szabadon hozzáférhető a legtöbb nonprofit projekt számára, de kereskedelmi kapcsolat lehetséges, és korlátozásokat tartalmazhat erre az esetre. Míg a GTK kifejezetten kijelenti, hogy még saját alkalmazásokban is szabadon használható GTK utasítás :

    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. 

    A komplex grafikus felhasználói felület fejlesztésének kulcsfontosságú szempontja a GLADE-re mint tervező készletre támaszkodik, és arra, hogy megfelel-e az Ön megközelítésének glade link . Célja, hogy cross platform legyen, de lehet, hogy nem olyan kiterjedten támogatott cross platform, mint a Qt.

    Válasz

    Hogyan viszonyulnak a saját objektummodelljükhöz, és mennyire követik szorosan a C ++ szabványt – Korlátozott tapasztalataim szerint a QT kissé hackerűnek tűnt a kódgenerátorai révén, és újból feltalálta a kereket saját, funkcionálisan egyenértékű osztályokkal a húrokhoz és osztályokhoz. Röviden: a QT-nek több fütty és harangja volt, amit “biztosan sokan” hasznosnak találta, de úgy tűnt, hogy ez is komoly, saját tulajdonú hangulattal rendelkezik. Mint mondtam, korlátozott tapasztalataim voltak vele (és még kevésbé a Gtk-val). Szeretnék néhány véleményt arról, hogy miként hasonlítanak manapság – egy fejlesztő szemszögéből, aki olyan általános megközelítések felé hajlik, amelyek megpróbálják használni a C ++ szabványokat (például STL, C ++ húrok, szálak stb.)

    Megjegyzések

    • Ez nagyjából úgy hangzik, mint a személyes vélemény, nem pedig tényeken alapuló válasz, amelyet ‘ várt a legtöbb SE webhelyen. Vegye figyelembe azt is, hogy az olyan dolgok, mint QString évtizedekkel ezelőtt szükségszerűségből születtek, amikor az STL-ben nem voltak egyenértékű jellemzők. Most, hogy a modern C ++ szabványok átvették a legtöbb funkciót, sok Qt osztály csak vékony csomagolás a natív C ++ megoldások köré.

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük