Articles

WxWidgets a Magick++ v/s Qt : Moje zkušenosti s Photopalem

Photopal je název jednoduché desktopové aplikace, na které jsem pracoval. Uživatelé mohou jednoduše přetáhnout obrázek a ten se převede na uživatelem preferované rozlišení (výchozí 72 dpi). Vložte velký počet obrázků nebo složek a aplikace je efektivně převede.

Tuto aplikaci jsem vytvořil pomocí dvou populárních knihoven – wxWidgets a Qt. Obě nejprve vysvětlím, pokud je někdo chce používat, a pak je obě porovnám.

Jak používat WxWidgets ve Windows?

Stáhněte si zdrojové kódy wxWidgets z https://www.wxwidgets.org/downloads/ . Rozbalte stažený soubor.

Nyní ve složce wxWidgets přejděte do /build/msw .
Najdete tam různé názvy projektů Visual Studia jako wx_vc následované verzí Visual Studia, např. pro Visual Studio 13 je to wx_vc12 .
Otevřete jej ve Visual Studiu a zkompilujte jej pomocí požadované konfigurace např. pro vydání v x64 .

Příslušné soubory se vytvoří ve složce wxWidgets ve složce include, resp. lib. Potřebné soubory pro wxWidgets se vygenerují.

Chcete-li je zahrnout do projektu , otevřete vlastnosti projektu.
V části C/C++ vlastnosti – záložka Obecné , zadejte cestu ke složce (wxWidgets)/include a (wxWidgets)/include/msvc v části Další adresáře pro zahrnutí.

V části Vlastnosti C/C++ – Předprocesor – Definice předprocesoru , přidejte WIN32 , WXUSINGDLL , _WXMSW , wxMSVC_VERSION_AUTO , _UNICODE a UNICODE.

Nyní v části Linker – Obecné – Závislosti linkovaných knihoven přidejte cestu ke složce lib/vc, která obsahuje vaše dll soubory, např.vc120_x64_dll.
Pod Linker – Input – Additional Dependencies přidejte lib soubory, které potřebujete, např. wxmsw31u_core.lib , wxmsw31u_gl.lib a wxbase31u.lib.
WxWidgets je nyní vše nastaveno.

Jak používat Magick++ ve Windows?

Stáhněte si zdrojové kódy Magick++ https://www.imagemagick.org/script/download.php a rozbalte je.

Pro vytvoření pracovního prostoru podle vašich požadavků jednoduše přejděte do složky
VisualMagick\configure a otevřete pracovní prostor configure.dsw (pro
Visual Studio 6) nebo configure.sln (pro Visual Studio 7 nebo 8).
Nastavte konfiguraci sestavení na Release nebo Debug. Sestavte a spusťte program configure a postupujte podle pokynů na obrazovce.

Po úspěšném sestavení jsou všechny požadované soubory, které jsou potřebné ke spuštění
kteréhokoli nástroje příkazového řádku, umístěny ve složce VisualMagick\bin. Patří sem EXE, DLL knihovny a konfigurační soubory ImageMagick.
Pro spuštění v projektu stačí ve Visual Studiu definovat odkaz na hlavičkové soubory (adresář include) a lib soubory (adresář lib ).
Doplňte také CORE_RL_Magick++_.lib a CORE_RL_MagickCore_.lib do dalších závislostí v části Linker – Input .také zkopírujte soubory xml do spustitelného umístění.

Teď přijde ta záludná část , imagemagick se spustí pouze na systémech, kde je již nainstalován. Chcete-li tuto potíž překonat , jednoduše si stáhněte exe soubor imagemagick. Přejděte do složky Program files/ imagemagick a zkopírujte soubory dll do složky coders. Nyní je imagemagick připraven ke spuštění.

Jak používat WxWidgets v Ubuntu ?

Otevřete terminál a zadejte
deb http://apt.wxwidgets.org/ natty-wx main
deb-src http://apt.wxwidgets.org/ natty-wx main

Pro přidání digitálního podpisu zadejte :
curl http://apt.wxwidgets.org/key.asc | sudo apt-key add –

V terminálu spusťte následující příkazy:
sudo apt-get update
sudo apt-get install wx2.8-headers libwxgtk2.8-0 libwxgtk2.8-dev
cd /usr/include
ls | grep wx
sudo ln -sv wx-2.8/wx wx

Při kompilaci projektu WxWidgets přidejte do příkazu g++ `wx-config – cxxflags` `wx-config -libs` a požadované knihovny wxWidgets.

Jak používat Magick++ v Ubuntu?

Otevřete terminál a sestavte základy pro Magick++ jako:
sudo apt-get install build-essential checkinstall && apt-get build-dep imagemagick -y

Nyní stáhněte ImageMagick zadáním:
sudo wget http://www.imagemagick.org/download/ImageMagick.tar.gz

Rozbalte tar :
sudo tar xzvf ImageMagick.tar.gz

V terminálu spusťte následující příkazy :
cd ImageMagick-7.0.4-5
./configure
make clean
make
checkinstall
ldconfig /usr/local/lib
ImageMagick je připraven ke spuštění ve vašem systému.

Postup 2 – Qt :

Jak používat Qt?

Stáhněte si Qt z oficiálních stránek pomocí online nebo offline instalátoru – https://www.qt.io/download-open-source/

Po instalaci , otevřete Qt creator.Vytvořte projekt Qt a spusťte jej v režimu vydání nebo ladění.

Sestavte distribuovatelný v Qt :
Přejděte do C:\Qt\(verze)\(kompilátor)\bin . např. do C:\Qt\5.9.1\msvc2013_64\bin
Otevřete zde terminál a spusťte :
windeployqt (umístění vašeho binárního souboru) .
Váš distribuovatelný spustitelný soubor spolu s požadovanou dll se vytvoří automaticky.

Srovnání WxWidgets a Magick++ vs Qt :

WxWidgets je pouze Gui knihovna a potřebovala Magick++ pro zpracování obrázků, zatímco Qt samo o sobě bylo plnohodnotnou knihovnou a obsahovalo různé nástroje , z nichž jedním bylo zpracování obrázků. Lze si snadno všimnout, že použití Qt je méně složité než WxWidgets . Dokonce i kód pro Qt je jednoduchý na psaní a pochopení.

S jednoduchostí však přichází i zvýšení úrovně abstrakce . Qt je mnohem abstraktnější než WxWidgets, což bylo dost patrné, když jsem pracoval na pthread ve wxWidgets a vlastním vláknu QThread v Qt. Takže záleží na oblasti vaší aplikace, zda chcete pracovat s Qt nebo WxWidgets. V mém konkrétním případě však bylo Qt lepší volbou.

Pokud narazíte na nějaké potíže při implementaci některé z těchto knihoven , rád vám pomohu.