Mnoho verzí je k dispozici ve verzích GTK i QT.
- Jaký je rozdíl mezi nimi?
- Existuje nějaký rozdíl ve výkonu nebo pracovní metodě?
Odpověď
Obecně by rozdíl z pohledu uživatele měl být čistě kosmetický. Témata Qt a GTK nastavují nezávisle (např. qtconfig
nebo gtk-chtheme
), ale toto je harmonizováno některými desktopovými prostředími.
GNU / Linux má tendenci být více GTK orientovaný než Qt v tom smyslu, že ten první se běžněji používá, takže možná budete chtít při výběru upřednostnit; výjimkou by bylo prostředí KDE, které používá Qt pro své vlastní aplikace – ačkoli žádný z těchto faktorů není příliš důležitý.
A významnější problém by byl v kontextech s velmi omezenou pamětí RAM (jako v < 1/4 GB); v tomto případě byste pravděpodobně chtěli, aby systém používal výhradně GTK nebo Qt, ale ne obojí. Na většině moderních počítačů s gigabajty paměti to však není problém – rozsáhlé používání obou vás může stát extra (divoký odhad) 50–100 MB.
Upozorňujeme, že existují také různé verze GTK (2 a 3) a Qt (3 a 4 ) stále široce používaný, ale není zpětně kompatibilní (takže aplikace Qt 3 nemůže používat knihovny Qt 4). Obě verze však mohou v systému existovat současně a nejzávažnějším důsledkem toho by byl potenciál záměny a trochu větší nadměrná paměť.
Komentáře
- Velmi by mě zajímalo, jak dospějete k závěru, že Linux je více orientovaný na GTK? Linux obvykle znamená pouze jádro Linuxu, které obecně nemá žádnou předpojatost vůči žádné z těchto sad nástrojů, protože se jedná o jádro OS, nikoli o program uživatelského prostoru GUI. Pokud jste chtěli implikovat GNU / Linux jako operační systém,
i nadále váš nárok zpochybňuji. Říci, že GNU / Linux je více GTK, protože Ubuntu je nejpopulárnější distribucí, je jako říkat Christiano Ronaldo je nejlepší sportovec, protože fotbal je nejhranější hra na světě. (I ‚ i to zpochybňuji)
Odpověď
Ne, ve vnitřní struktuře těchto programů není žádný rozdíl. GTK a Qt jsou sady nástrojů a rámce uživatelského rozhraní. Jsou to knihovny, které vývojáři používají k navrhování grafických rozhraní.
Když je napsán grafický program (GUI), jsou nejprve vyvinuty jeho základní interní prvky. Díky tomu je program spuštěn. Nikdy nevidíte jádro, jednoduše se spustí na pozadí. Kromě tohoto jádra je navrženo uživatelské rozhraní (UI).
Nyní mohou vývojáři navrhnout kompletní rozhraní od začátku nebo znovu použít návrhy od jiných. Opětovné použití designu má hlavní výhodu. Umožňuje všem programům v počítači vypadat podobně. Proto používají sady nástrojů GUI. GTK a Qt jsou dvě extrémně běžné sady nástrojů GUI.
GTK je standardní sada nástrojů pro GNOME, zatímco Qt používá KDE. Z pohledu uživatele se liší pouze vzhled. Program zůstává v podstatě stejný.
Odpověď
Dalším důležitým aspektem, který je třeba vzít v úvahu, je Qt licencování odkaz na zveřejnění licence , který je výslovně nastaven tak, aby byl volně dostupný pro většinu neziskových projektů, ale obchodní vztah je možný a může pro tento případ mít omezení. Zatímco GTK, výslovně uveďte, že jej lze volně používat i v proprietárních aplikacích prohlášení GTK :
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.
Klíčový aspekt komplexního vývoje grafického uživatelského rozhraní bude záviset na GLADE jako návrhové sadě a na tom, zda to vyhovuje vašemu přístupu glade link . Jeho cílem je být multiplatformní, ale nemusí to být tak široce podporovaná multiplatformní jako Qt.
Odpověď
Jak se porovnávají, pokud jde o jejich příslušné objektové modely, a jak přesně dodržují standard C ++ – podle mých omezených zkušeností se zdálo, že QT je trochu hacker s generátory kódu a znovuobjevuje kolo s jejich vlastními funkčně ekvivalentními třídami pro řetězce a třídy. Stručně řečeno, QT vypadalo, že má více píšťal a zvonků, což jsem si jistý, že mnoho užitečné, ale také se zdálo, že to má těžký, chráněný pocit. Jak jsem řekl, měl jsem s tím omezené zkušenosti (a ještě méně s Gtk). Chtěl bych nějaké názory na to, jak se dnes porovnávají – z pohledu vývojáře, který se přiklání k obecným přístupům k věcem, které se snaží používat standardy C ++ (jako jsou STL, řetězce C ++, vlákna atd.)
QString
se zrodily z nutnosti před desítkami let, kdy v STL nebyly žádné ekvivalentní rysy. Nyní, když moderní standardy C ++ vyzvedly většinu funkcí, jsou mnohé třídy Qt jen tenkými obaly kolem nativních řešení C ++.