C# - QT toolkit ?
Goddag!
Jeg ved dette ikke nødvendigvis er det bedste forum i hele verden at stille spørgsmålet på. Men jeg ønsker at vide, om nogle af jer har en fornuftig viden omkring hvilke projekter der bringer QT til C# er længst fremme (hvis nogen overhovedet er kommet videre end proof of concept).
Spørgsmålet kommer som følge af nogle *yderst* frustrerende skoleopgaver med Windows Forms som efter min mening er noget af det mest ækle møg jeg nogensinde har set når det kommer til at lave vinduer som understøtter resizing.
GTK# er et muligt alternativ som jeg også har gjort brug af. Mit problem er dog at der ikke altid er så megen dokumentation til det - hvilket gør at jeg til tider løber hovedet mod muren under mit arbejde.
Egentlige GTK-bøger til C++/C hjælper mig ikke meget, da GTK fra standard ser ud til at være designet primært til C - mens C++ bøger om QT burde kunne mappes relativt nemt til C#.
(Sådan ser det i al fald ud til at forholde det sig når man skriver QT kode til Java)
Forslag til brugen af Java eller C++ kan jeg ikke bruge til noget - Min interesse er primært at supplere de (få!) kodeopgaver vi har i skolesammenhænge med nogle personlige projekter for at få et større kendskab til sproget.
- Log in to post comments
Kommentarer10
Re: C# - QT toolkit ?
Måske det her kan hjælpe dig lidt videre:
http://tirania.org/blog/archive/2009/Mar-16.html
Ellers findes der jo #qt på Freenode (IRC) f.eks. hvor man formentlig kan komme i kontakt med nogle mere vidende folk.
Re: C# - QT toolkit ?
Hmm, jeg er ikke den store IRC fan, men jeg må jo prøve at ligge vejen forbi, tak for forslaget ;)
#0
Kender du dette:
#0
Kender du dette: http://www.go-mono.com/docs/
Der er både dokumentation til C# og GTK# såvidt jeg husker :) Man skal dog bruge Mono til at køre det igennem istedet for .net - såvidt jeg husker.
Re: C# - QT toolkit ?
Et kig forbi #qt på irc.freenode.net gav ikke meget. Der var ikke lige nogen som havde kigget ydereligere på det. Men den generelle stemning var vist lidt at Mono folk var håbløst forelskede i GTK# så det skulle man nok ikke forvente.
Dog har jeg kigget og fundet at "Qyoto" er pakket på Debian/Ubuntu og at det sidste commit på projektet er for en 18 timer siden (så projektet må *formodes* at være under fortsat udvikling). Men uden at vide hvor begrænsningerne måtte ligge med kittet lader jeg det nok ligge og holder mig ved GTK#.
Syntes bare lige jeg ville dele, hvad jeg fik ud af mit irc-eventyr ;)
#4
GTK# er også en ret
#4
GTK# er også en ret integreret del af Mono-projektet - så tror det er det bedst understøttede :)
hvorfor c#
jeg ved det lyder gak, men efter at have leget en del rundt med qt i c++ som de fleste jo nok hader finder man ud af Qt folkene faktisk har fixet rigtigt mange ting ved c++ .
Qt har både et svar på properties og på closures og et fantastisk event system samt classes til at hjælpe med C++ største problem nemlig manual memeory management, og damn det skidt performer(ja jeg vil skide på om kde 4 er langsomt , Qt C++ rykker).
Java versionen af Qt virker i øvrigt fint og drager også en del fordel af disse ting der gør gabet mellem java og c# meget lille , dog har de gjort det meget svært at override klasser da de er gået amok med finalising.
Endeligt er der Qt i python , slf langsomt men hvis du kan finde et tool og kender python er det sikker det hurtigste at udvikle i.
Det jeg nåede frem til var at de 2-3 projekter med qt for c# enten er halvdøde eller en del bagude.
#dklinux (#6)
Jeg skrev i
#dklinux (#6)
Jeg skrev i #0:
Forslag til brugen af Java eller C++ kan jeg ikke bruge til noget - Min interesse er primært at supplere de (få!) kodeopgaver vi har i skolesammenhænge med nogle personlige projekter for at få et større kendskab til sproget.
Netop derfor ;)
Hvis jeg skulle kode privat ville jeg nok benytte Java og QT for øjeblikket. (QT findes til Java gennem Jambi, det er i Debian/Ubuntu repositories).
Re: C# - QT toolkit ?
Jeg våge den påstand, at kan du kode C#, så kan du også sagtens kode Java eller C++.
Jeg kommer selv fra en C# verden, men nu koder vi Java på datamatiker linjen og endnu har jeg ikke fået de store problemer. Foreach har været den største undren, da det simpelthen ikke findes i Java (og dog, du bruger bare *for i stedet). Ja, det har vist noget af gøre med gamle standarter, men hæng mig ikke op på det.
Ved ikke om blueJ findes til Linux, men det er et rigtig godt værktøj til forståelse af objekter.
Re: C# - QT toolkit ?
Mit studie har bevæget fra Java til C# nu og din påstand er bestemt korrekt. Jeg har kodet en kende C++ før og specielt med QT er det ikke den store udfordring. Men jeg ønsker specifikt lidt API-kendskab til C# som er det sprog, i hvilket alle afleveringer kræves.
Selve syntaksen på det helt basale plan er rimeligt trivielt de 3 sprog imellem (Java, C++, C#). De store forskelle ligger i hvordan man løser en række opgaver vha. deres forskellige API's. (Hvoraf C++ har nær ingen fra standard hvis man sammenligner med Java og C# som jo har enorme mængder kode fra leverandørens side)
#8 Det er faktisk forkert :)
For-each i C#
foreach ( string currString in myListOfStrings ) {
Console.WriteLine("String value: {0}", currString);
}
Tilsvarende i Java
for ( String currString : myListOfStrings ) {
System.out.printf("String value: %s\n", currString);
}
Selve listen kan passende implementeres med hhv. 'List' i C# og 'ArrayList' i Java, så blev du det klogere ;)
Ang. BlueJ:
Nå det bruger i også ? Det var hvad vi startede ud med for siden at bruge Eclipse. Men jo, BlueJ er skrevet i 100% Java/Swing og findes derfor også til Linux
http://www.bluej.org/download/download.html
Jar-installeren kan køres i terminalen med "java -jar FILNAVN.jar" og de har endda bygget deciderede Debian/Ubuntu pakker.
Når alt dette er sagt, så kan Java-interesserede kigge på QT til Java i form af Jambi, en officiel Trolltech/Nokia implementering som bl. a. kan testes direkte fra nettet her:
http://dist.trolltech.com/developer/download/webstart/index.html
Bemærk: hvis man installerer det i Ubuntu har jeg bemærket at man tilmed kan vælge "GTK" som Look&Feel og modsat Java's Swing virker det faktisk 100% på samme måde så vidt jeg har kunnet se (jeg bruger Gnome til dagligt og noterede mig ikke nogen forskelle i udseendet).
Personligt ville min våde drøm udviklermæssigt være Java + QT :)
at læse
ahhh sorry , jeg tænkte nok det var en dårlig ide at forslå andre sprog jeg havde overset din sidste strofe, API forskelle er den største hurdle mellem C# og Java , men så igen , i den verden du er ved at bevæge dig ind skal man ikke forvente at hvile på laurbærene.
Så du vil lære .NET APIs og sammentidigt lege med QT jamen hvad jeg kan læse mig til har kimono support for Qt 4.4 ergo er det projekt jeg kender til der er længst.
Desværre er min personlige erfaring jeg Java og Qt at det er gjort ekstremt svært at extende klasser da alt var FINAL(sikkert et perverst forsøg på at optimere), du kan bruge aggregering men det er ikke i alle situationer den løsning er elegant nok.
Det sagt så virker jambi da fint og det gør Qyoto sikkert også så prøv da at hent det og se om skidtet virker , og mht til dokumentation skal du på med qt til java og C# forvente at bruge c++ dokumentationen.