Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Val
Založen: 18. 06. 2013 Příspěvky: 19
|
Zaslal: 18. červen 2013, 19:55:18 Předmět: Qt začátky |
|
|
Chlapi používáte někdo Qt (pro vytváření aplikací v C++ s GUI)?
Člověk si to snadno nainstaluje (Qt5 na Windows 7), spustí pěkně vypadající Qt Creator a už ťuká aplikaci, která jde z IDE spustit a dělá co má. Krása.
Problém ovšem nastane, když by chtěl nově vytvořenou aplikaci distribuovat. Člověk si najde exáč, zjistí jaké potřebuje DLL tak je k němu přikopíruje (jedná se o úplně základní aplikaci generovanou IDE - zobrazí se okno a v něm nápis "Hello world", přesto potřebuje 14 dll, které zabírají 50MB. WTF? proč to třeba potřebuje Qt5Sql.dll nebo Qt5Network.dll?), přesto to stále nefunguje - ovšem žádnou chybovou hlášku to nehodí. Když člověk nakopíruje exáč aplikace přímo do adresáře Qt/bin tak se tento spustí, zobrazí okno - ovšem bez nápisu "Hello world".
Člověk je z toho trochu zmatený. Pokud by někdo vrhl světlo na tyto záhady, bude rád. |
|
Návrat nahoru |
|
 |
Houp
Založen: 28. 07. 2007 Příspěvky: 672
|
Zaslal: 18. červen 2013, 20:07:23 Předmět: |
|
|
Jsi si jistý, že potřebuješ ta dll všechna? Co jsem dělal aplikaci v Qt, tak mi stačilo ji distribuovat jen s QtCore.dll a QtGui.dll a vše fungovalo. (týká se to Qt 4.8, ne 5, ale je mi podezřelé, že by se to tak změnilo) Na druhou stranu nevíme, co všechno si tam použil. _________________
 |
|
Návrat nahoru |
|
 |
uiii
Založen: 12. 08. 2007 Příspěvky: 251
|
|
Návrat nahoru |
|
 |
Krolli
Založen: 12. 05. 2013 Příspěvky: 13
|
Zaslal: 18. červen 2013, 21:05:47 Předmět: |
|
|
Mozes skusit pouzit Dependency Walker, ktory ti zisti vsetky DLL ktore tvoj program potrebuje pre spustenie (neuvedie DLL nacitane pocas runtime ako pluginy, ale to asi nepotrebujes). Inak s distribuciou Qt programov vela skusenosti nemam, akurat som s tym obcas experimentoval. Este mozes skusit spustat z prikazoveho riadku, mozno to tam vypise nieco uzitocne. |
|
Návrat nahoru |
|
 |
Val
Založen: 18. 06. 2013 Příspěvky: 19
|
Zaslal: 18. červen 2013, 21:23:23 Předmět: |
|
|
Houp: Pro vygenerování aplikace jsem použil File->New->Applications->Qt Quick1 (build in elements). A dále jsem ji neupravoval. Je možný, že tam je zbitečně nastaveno použití dll která nejsou potřeba. Ovšem v nastavení projektu v Qt Creatoru nemůžu nikde najít místo kde se uvádí knihovny, které se použijí. V projektu jsou nějaké makefile - ovšem, že by se mi chtělo v tom hrabat... od čeho je pak IDE, že?
uiii: to jsem četl a moudrý z toho nejsem, potřebuju návod pro blbce
Krolli: Dependency Walker používám, ale ten stejně neodhalí knihovny které se připojí až za běhu (třeba pluginy) |
|
Návrat nahoru |
|
 |
uiii
Založen: 12. 08. 2007 Příspěvky: 251
|
Zaslal: 18. červen 2013, 21:50:58 Předmět: |
|
|
Val napsal: |
Ovšem v nastavení projektu v Qt Creatoru nemůžu nikde najít místo kde se uvádí knihovny, které se použijí. |
To by podle mě mělo být v .pro souboru.
Řádek
tam určujes části Qt, které chceš slinkovat s projektem, každá ta část by pak měla být reprezentována jedou dynamickou knihovnou. Jsou to zčásti jen doměnky, ověřené to nemám. |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 19. červen 2013, 08:33:31 Předmět: |
|
|
ked uz QtQuick tak by som pouzil 2.0. to je ale framework zamerany na tablety a telefony pisane v kvazi JavaScripte pricom problemom je ze tam nie su pouzitelne GUI elementy (tie su az v 5.1). ak chces tvorit klasicke GUI aplikacie pre desktop pouzil by som klasicke QtWidgets. vsetky dll by mal windows oznamit pri spusteni (klasicka hlaska neviem najst to a to dll). zrada je ale s platforms\qwindows.dll ktore sa nacitava nejak dynamicky. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Val
Založen: 18. 06. 2013 Příspěvky: 19
|
Zaslal: 19. červen 2013, 12:56:00 Předmět: |
|
|
No mě šlo jenom o to si pro seznámení s Qt zkusit základní aplikaci "Hello word" a rozhodnout se jestli má cenu se vůbec Qtčkem hlouběji zabývat (ten Quick teda asi byla blbost, ale stejně se to chovalo i u GUI aplikace).
Teď jsem teda stáhnul starší verzi Qt4.8 + MinGW nastavil na ní Qt Creator z 5tky a tohle mi na rozdíl od Qt5 + VS2012 vygeneruje aplikaci, která skutečně používá jen QtCore.dll a QtGui.dll (+ nějaký dllka MinGW), prostě se to chová jak bych očekával.
Teď se mi nechce řešit co bylo za problém v té Qt5, spíš se rozhoduju jestli se nevrátím k wxWidgets, které jsem kdysi použil na jeden pidiprojekt a je poněkud méně rozežrané, taky toho zřejmě o dost míň umí, ale zase na to naše programování... |
|
Návrat nahoru |
|
 |
mar
Založen: 16. 06. 2012 Příspěvky: 610
|
Zaslal: 19. červen 2013, 13:26:41 Předmět: |
|
|
Val napsal: |
spíš se rozhoduju jestli se nevrátím k wxWidgets |
Nevracej se, Qt je mnohem lepší. Taky jsem původně váhal mezi wxWidgets a Qt a nakonec to vyhrálo jednoznačně Qt - wxWidgety trpí špatným návrhem (protože vycházely původně z příšerného MFC) a vůbec dost věcí tam nefunguje, jak by člověk čekal. |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 19. červen 2013, 13:59:10 Předmět: |
|
|
urcite by som isiel s Qt. je to podla mna najlepsi C++ GUI framework co existuje ci uz funkcionalitou alebo jednoduchostou vyvoja. ak ti funguje 4.8 tak pouzi to aj ked problemy s 5.0 sa daju urcite vyriesit http://qt-project.org/forums/viewthread/25714 _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Val
Založen: 18. 06. 2013 Příspěvky: 19
|
Zaslal: 20. červen 2013, 10:23:21 Předmět: |
|
|
nou: no vida nejsem sám kdo to řešil. Sice se jim asi podařilo zjistit co všechno za knihovny použít a kam je dát, ale už jim není divné, že je jich potřeba tolik.
Zatím používám tu starší verzi a chci si projít nějaké tutorialy. Qt je velmi mocná. Trochu kanón na vrabce u menšího projektu, ale do budoucna se hodí... Asi se už budu muset smířit s tím, že se celá aplikace nevejde do 1MB  |
|
Návrat nahoru |
|
 |
mkcz
Založen: 24. 02. 2012 Příspěvky: 7
|
Zaslal: 20. červen 2013, 20:05:14 Předmět: |
|
|
Zrovna sem nahrál zdroják jedný aplikace co sem dělal na gitorious.org, je to v Qt4. Tady je odkaz https://gitorious.org/cbprinter. Myslím že by se s toho dalo něco naučit. |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 20. červen 2013, 21:39:26 Předmět: |
|
|
len pre infomaciu. pred nedavnom vysiel RC Qt 5.1 ktory podporuje aj pisanie aplikacii na android a iOS. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
|