Qt – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Qt – C / C++ – Fórum – Programujte.comQt – C / C++ – Fórum – Programujte.com

 

Damian
~ Anonymní uživatel
11 příspěvků
17. 8. 2012   #1
-
0
-

Ahoj, dost zde na foru se lidé ptají na qt. Mám na něj také dotaz. Nikdy jsem v něm nedělal a mám jen základní informace co to je.

QT je multiplatformní. Co přesně to znamená? Tedy zda jednou napsaný program(a přeložený) lze použít napříč různými os včetně linuxu? Nebo je to myšleno, že samotný kód, který je jednou v tomto napsaný je přenositelný, ale musí se přeložit v závislosti na platformě?

Jak je to s kompilátorem? Musí se používat kompilátor dodaný s tímto frameworkem?

Hezké léto všem.

Nahlásit jako SPAM
IP: 88.83.169.–
Tom
~ Anonymní uživatel
434 příspěvků
17. 8. 2012   #2
-
0
-

#1 Damian
Multiplatformní je, asi stejně jako Java. V Qt jsem dělal cca půl roku. Programuje se pomocí C++ => takže teoreticky by to mělo frčet na linuxu, win, macos. Instalátor Qt obsahuje pro windows kompilátor. Pro linux jsem to nezkoušel, ale určitě bude potřeba udělat i překlad pro linux. Použití jiného kompilátoru asi bude možný, nejspíš bude potřeba nastavit, aby použil qt knihovny.

Osobně mám z QT rozpolcené pocity. Na jednu stranu mi přišly skvělý, díky tomu že stačilo jednou napsat logiku v c++, a mohl by program běžet na Win a Linuxu. Qt Creator mi moc nevyhovoval, po zkušenostech z NetBeans, Eclipse a Visual Studia tomu chybělo příjemné ovládání samotného IDE. Co mi hodně vadilo, tak byl velmi pomalý kompilátor, myslel jsem si, že ta kompilace je pomalá kvůli notebooku, měl jsem starší Core2Duo 1.8Ghz. Před 14 dny jsem Qt opět zkusil, už na Core i5, a stejně ta kompilace byla na dlouho.

Nahlásit jako SPAM
IP: 193.86.140.–
ondra.holub+1
Stálý člen
17. 8. 2012   #3
-
0
-

#2 Tom
Není multiplatformní jako Java. Java se přeloží do bytekódu, který lze interpretovat na různých platformách. I tak, že výsledek překladu na jedné platformě se spustí na jiné platformě. Samozřejmě to platí jenom tehdy, pokud je ten program správně napsaný a nepoužívá platformě závislé věci.

Qt je multiplatformní na úrovni zdrojáků. Tedy jedny zdrojáky lze přeložit pro různé platformy a tam spouštět výsledné binárky. Opět samozřejmě zase tehdy, pokud nejsou použity platformově závislé záležitosti.

Překládat lze Qt samozřejmě gcc (na win i unixech a linuxech). Na winech lze použít i visual studio. To většinou překládá rychleji. Žádný speciální překladač potřeba není. Ovšem jedna specialita tam je. Autoři Qt si trošku rozšířili C++, takže zdrojáky je třeba nejdříve projet speciálním preprocesorem, který z toho vygeneruje normální C++ a pak to přeložit. Za normálních okolností je od toho programátor odstíněn nějakým IDE nebo dobře napsaným makefilem.

Nahlásit jako SPAM
IP: 212.96.189.–
Tom
~ Anonymní uživatel
434 příspěvků
17. 8. 2012   #4
-
0
-

#3 ondra.holub
Tu podobu s javou jsem myslel taky tak, že nemůžu očekávat, že napíšu aplikaci který bude využívat třeba nějaký knihovny, který jsou určený pro Windows a pak stejný program pouštět na Linuxu.

Nahlásit jako SPAM
IP: 193.86.140.–
TheOndrap+2
Super člen
17. 8. 2012   #5
-
0
-

#4 Tom
Tu analogii nechápu, java a C prostě nejde v tomto ohledu srovnávat

Nahlásit jako SPAM
IP: 88.102.250.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
Tom
~ Anonymní uživatel
434 příspěvků
17. 8. 2012   #6
-
0
-

#5 TheOndrap
Nesrovnávám jazyky, ale multiplatformnost.

Jak uvedl Ondra "Samozřejmě to platí jenom tehdy, pokud je ten program správně napsaný a nepoužívá platformě závislé věci." - to jsem měl na mysli. 

Nahlásit jako SPAM
IP: 193.86.140.–
TheOndrap
~ Anonymní uživatel
305 příspěvků
18. 8. 2012   #7
-
0
-

#6 Tom
Však já jsem taky zmínil, že je nejde v multiplatformosti srovnávat. C je kompilováno do binárky, Java do bytekodu

Nahlásit jako SPAM
IP: 88.102.250.–
ingiraxo+15
Grafoman
19. 8. 2012   #8
-
0
-

Qt je dobrej framework, ale osobně mi ze 3 důvodů celkem vadí...

1) pokud něco skompiluješ na linuxu a chceš to potom pustit na windowsu, tak potřebujes linuxový libky, na těch pro windows ti to nepojede

2) nevýhoda asi každýho frameworku, ale u Qt zvlášt, že i jednoduchá aplikace má minimálně 3MB (po statický kompilaci a kompresi), normálně i čistý okno 10MB a lepší GUI i 15MB

3) nevim proč, ale ve většině případů, když jsem aplikaci někomu poslal, tak se jim antivir mohl zbláznit a to se mi stalo celkem často... takže to blokuje aplikaci i když tam nic škodlivýoho neni

Z těchto důvodů jsem se více zaměřil na C#, tam zádnej z těchto problémů neni, ale dělal jsem v Qt asi 3/4 roku a to celkem často :)

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 47 hostů

Podobná vlákna

Eclipse CDT a QT4 ve WIN XP — založil eclipse

Qtcpsocket read write vytváři nová vlákna? — založil rodinne.baleni.ryze

IDE pro Qt4 — založil NOclipus

Qtcpsocket read write vytvari nove vlakno? — založil rodinne.baleni.ryze

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý