Jännää, olen tuhlannut kohta 3 tuntia tonkimiseen ja penkomiseen, mutta ylläri pylläri mistään ei vastausta löydy! Asia on niin yksinkertainen, että pitäisi keksiä miten QT designerissä saa napille luotua clicked-eventin. Missään QT designer ohjelmassa eikä helpeissä mainita halaistua sanaakaan eventeistä. Mikähän tässä on se surullisenkuuluisa "jippo" sitten?
QT ja eventit
sdfgtresgdxzdgdzxgv
4191
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
QT:ssä tapahtumienkäsittely on erilainen: http://doc.qt.nokia.com/latest/signalsandslots.html
Joo, en mäkään löydä.
Mutta käytä Qt Creator-välinettä, siitä löytyy näin:
Oikea klikkaus Buttonin päällä - valikosta Go to slot.. - valitse Clicked
Qt Creatorissa on myös signals/slots -editori. Lisää tietoa löydät "qt creator tutorial" yms. haulla.
En käytä qt creatoria vaan visual studiota. Vastaus ongelmaani löytyi kun määrittelin qt designerissä "custom" slotin, jonka nimi on sama kuin luokassa määritetty metodi. Mutta arvatkaapa vain tuleeko mitään virhettä tai ilmoitusta, jos nimi onkin kirjoitettu väärin?
Delphin jälkeen tuntuu kuin olisi palannut takaisin pimeälle keskiajalle! Siinä, kuin myös Javassakin, kaikki kävi niin intuitiivisesti ja nopeasti kunhan vain kirjoitti, mutta qt:n suunnittelijoilta näyttäisi pahasti olevan hukassa KISS-periaate. Kaikki on niin vietävän epäloogisesti ja monimutkaisesti suunniteltu, metodien nimet täysin älyttömiä, mikään ei toimi maalaisjärjellä ajatellen jne. ja pikkuasioissakin saa plärätä jatkuvasti dokkareita, jotka on vietävän huonosti rakennettu. Netistäkään ei paljoa apua ole kun heti kun luulee löytäneensä vastauksen johonkin pulmaan niin kappas vain, ominaisuus on poistettu nelosversioon ja korvattu jollain älyttömällä monimutkaisella viritelmällä.
Nyt olen uhrannut koko päivän keksiäkseni, miten toteutta YKSINKERTAINEN paintbox-komponentti. Samanlainen kuin delphissä TPaintBox. Pelkkä suorakulmio, joka värjätään custom eventissä mustaksi. Qt designerissä ei tällaista komponenttia ole eikä paintEvent:iin pääse käsiksi muuten kuin kirjoittamalla kokonaan uuden komponentin ja rekisteröimällä sen qt designeriin (hallelujaa!!!).
Jos tämä on sitä open sourcen autuutta, niin siirryn suosiolla microsoftin fanittajaksi.
En tajua miksi käytät visual studiota Qt:n kanssa, mutta ehkä se ei vaan toimi...
Qt:n ideat ovat ehkä hieman hankalia aluksi tajuta, mutta tarkoitus on olla mahdollisimman joustava, jolloin KISS ei aivan onnistu.
"Jos tämä on sitä open sourcen autuutta, niin siirryn suosiolla microsoftin fanittajaksi."
Ei se koodi tai tietokone tiedä onko se open sourcea vai suljettua...
Ts. softan laatu on täysin riippumaton lisenssimallista.
Open source jyrää "alemman"tason kamassa (kernelit, kääntäjät, kirjastot...) kun taas tumpeloille jaksetaan väsätä RAPID-kehitysvälinettä ja muuta helppoa kaupallisella puolella. (Mikä on mielestäni ihan OK)
Siis ne oikeasti osaavat tekevät hommat mieluummin ilman rajoittavia RAPID-juttuja.