QT ja eventit

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?
4191
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

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.

Äänestä

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.

Äänestä
  • 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.

    Äänestä

Kommentoi aloitusta


sdfgtresgdxzdgdzxgv kirjoitti:

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?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu