Sida 1 av 1
Börja med QT // Howto?
Postat: 10 nov 2007, 00:11
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?

SV: Börja med QT // Howto?
Postat: 10 nov 2007, 00:28
av mcNisse
Starta hos
http://trolltech.com. De har en bra tuturial.
SV: Börja med QT // Howto?
Postat: 10 nov 2007, 00:29
av madbear
Pillar lite själv med Qt, till min greenphone

. 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

.
SV: Börja med QT // Howto?
Postat: 10 nov 2007, 01:08
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.
SV: Börja med QT // Howto?
Postat: 12 nov 2007, 13:33
av Sork
ett bra verktyg för QT är glade.
SV: Börja med QT // Howto?
Postat: 12 nov 2007, 14:45
av Sork
jag borde fan inte posta på måndagar... helt riktigt är glade för GTK+. sry
SV: Börja med QT // Howto?
Postat: 04 dec 2007, 23:32
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!
SV: Börja med QT // Howto?
Postat: 04 dec 2007, 23:37
av Emil.s
Hm, här glömde man visst att svara...
QTdemo + "Assistant" vart det.

Myket bra exempel at lära sig av!