Börja med QT // Howto?

Här diskuteras programmering och utveckling
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

Börja med QT // Howto?

Inlägg av Emil.s »

Programmerar lite lätt C++. Men jag skulle vilja lägga ett enkelt GUI till några saker...
Då jag har uppfattningen att Qt är kraftfullt, men ändå lätt att arbeta med så tänkte jag anvnäda det.

Att öppna Qt Designer och göra lite dialoger osv är ju inga problem, men hur kopplar man ihop det med ett program sen då!?
Bäst vore väl om man kunde skriva koden för hand, och finputsa i designer bara...

Har hur som hellst aldrig programmerad GUIn förut, så det är helt nytt. Någon som har tid för en snabb genomgång? :)
Home sweet ~/ = http://sandnabba.se
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

SV: Börja med QT // Howto?

Inlägg av mcNisse »

Starta hos http://trolltech.com. De har en bra tuturial.
KDE 4.5 SC är ute i det fria!!! Tjoho

Stagnation is good for nobody - after all if you don't progress you end up with gnome
Användarvisningsbild
madbear
Inlägg: 209
Blev medlem: 09 jan 2007, 13:49
OS: PCLinuxOS
Ort: Karlstad

SV: Börja med QT // Howto?

Inlägg av madbear »

Pillar lite själv med Qt, till min greenphone :P. Men har inte haft nån tid alls hitills nästan så har blivit att leka lite med deras exempel bara, som följer SDKn http://www.qtopia.net/modules/mydownloa ... .php?cid=4 . Men jag är idel öra om det finns någon kunnig :).
Användarvisningsbild
gasol
Inlägg: 405
Blev medlem: 27 jul 2007, 14:57
Kontakt:

SV: Börja med QT // Howto?

Inlägg av gasol »

Basic principen är att du skapar din GUI (skriver egen kod eller bygger den med ett program). Sedan så kopplar du signaler (för att använda QT/KDE termer) så när te.x. någon klickar på en knapp i din GUI så kommer en viss funktion att anrops antagligen med något argument du har specifierat.

Med te.x. textrutor, sliders och radio buttons så är du antagligen mer intresserad för innehållet i dem, dvs vad som står i en textruta, vilket värde dina radio buttons har osv.

Detta gör att programflödet blir annorlunda än i ett "vanligt" program.

Kod: Markera allt

main() {
   while(villkor) {
      do_stuff();
      läs_input();
      osv osv...
      gör_lite_annat();
   }
}
I ett gui program så blir flödet mer nåt i stil med det här

Kod: Markera allt


main() {
   init_gui();
   skapa_gui(); 
   osv...

   qt_main_loop(); <--- Här så kommer flödet att tas över av QT 
   exit();
}


//denna funktion körs när en knapp har blivit nedtryckt. När den returnera så kommer 
// QT att ta tillbaka kontrollen över programmet.
knapp_tryckt(info) {
   if(info == något) {
      gör_något();
   } else {
      gör_annat();
   }
}

Detta är dock inte helt sant, utan man brukar har 2 trådar. En för GUI funktioner samt en "worker thread" där du gör själva arbetet i. Då när du får ett knapptryck så kommer du bara att lägga in gör_något(); eller gör_annat(); i en kö och din arbetar tråd gör detta när den har tid. Detta medför att du inte låser GUIn om du ska göra nåt stort. Detta behövs dock inte alltid om man ska göra enkla program.


Hoppas det klarnar lite mer om skillnaderna mellan GUI programmering och "vanlig" programmering nu.
Senast redigerad av 1 gasol, redigerad totalt 10 gånger.
The Black Mountain Scorpion Hoedown Bluegrass Experience Gang
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
Användarvisningsbild
Sork
Inlägg: 127
Blev medlem: 18 okt 2007, 10:22
Ort: Solna, Sverige

SV: Börja med QT // Howto?

Inlägg av Sork »

ett bra verktyg för QT är glade.

Kod: Markera allt

$ sudo apt-get install glade-3
Gotus sum, Cave cornua
Användarvisningsbild
Sork
Inlägg: 127
Blev medlem: 18 okt 2007, 10:22
Ort: Solna, Sverige

SV: Börja med QT // Howto?

Inlägg av Sork »

jag borde fan inte posta på måndagar... helt riktigt är glade för GTK+. sry
Gotus sum, Cave cornua
terws
Inlägg: 19
Blev medlem: 10 mar 2007, 15:52
Ort: Linköping
Kontakt:

SV: Börja med QT // Howto?

Inlägg av terws »

Ett tips är boken "C++ GUI Programming with QT", jag lånade den på biblan, men man kan ladda ner den http://www.computer-books.us/cpp_0010.php

Det är en bra start!
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

SV: Börja med QT // Howto?

Inlägg av Emil.s »

Hm, här glömde man visst att svara... :P

QTdemo + "Assistant" vart det. :) Myket bra exempel at lära sig av!
Home sweet ~/ = http://sandnabba.se
Skriv svar

Återgå till "Programmering och webbdesign"