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)
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.)
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é.