Python Tkinter

Mikähän tässä on pielessä kirjoitun tesktin saan messageboxiin mutta yhteenlaskun tulosta en saa messageboxiin? Mitä pitäisi kirjoittaa toisin?

def plus():
luku1 = float(Entry.get(syote1laske))
luku2 = float(Entry.get(syote2laske))
tulos = luku1 luku2
#Entry.delete(vast, 0, 20)
#Entry.insert(vast, 0, tulos)

def tulostus2():
tk.messagebox.showinfo('Yhteenlaskun tulos viestiikkunassa', plus)

11

359

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi
    • Sain tehtyä kaksi eri vaihtoehtoa. Ensimmäinen on oletettavasti se mitä haet toinen taas on vain asioiden helpotusta varten.

      def plus():
      luku1 = 2
      luku2 = 2
      tulos = luku1 luku2
      return tulos

      def tulostus2():
      messagebox.showinfo('Yhteenlaskun tulos viestiikkunassa', plus())

      tulostus2()

      Tuo return palauttaa stringin funktiosta, jotenka lisäämällä vain sen pitäisi päästä pitkälle.

      Toimisiko alla oleva koodi tarkoituksessas kuitenkin paremmini? Näyttäisit laskun vastauksen välittömästi. Korvaa tietenkin luku1 ja luku2 haluamillasi luvuilla.

      def plus():
      luku1 = 2
      luku2 = 2
      tulos = luku1 luku2
      messagebox.showinfo('Yhteenlaskun tulos viestiikkunassa', tulos)

      plus()

    • Kiitos!
      Tuo return ja plus()): lisäys sai toiminaan oikein.

      Mutta mikäs tuo qt on en ole aikaisemmin siihen törmännyt? Siihen pitää tutustua jossakin vaiheessa.

      • Voin joo suositella myös Tkinterin unohtamista mutta myös Qt:n.

        Käyttöliittymät kannattaa tehdä standardilla tavalla HTML5:lle. Netistä löytyy useita Python -> Javascript kääntäjiä


      • Hyvä että toimii.


    • Anonyymi

      Python 2.7 kyse?

      tk.messagebox.showinfo("Yhteenlaskun tulos viestiikkunassa", plus)

      edellyttääkö että plus on merkkijono?

      Python 3:ssa toimii vallan hyvin.

      • Anonyymi

        plus() on funktion nimi, eikä muuttuja, kuten edellä sotkin.


      • Anonyymi
        Anonyymi kirjoitti:

        plus() on funktion nimi, eikä muuttuja, kuten edellä sotkin.

        Taaskaan ei Suomi24 moderointi toimi oikein, mitä hittoa ne sitä rassaa koko ajan, pirun ärsyttävää tuollainen toimimaton moderointi. Eikö ne voisi palkata jotakin opettamaan moderointia näille siivooja tytöille, ettei ne aina olisi pilaamassa asia viestejä.


      • Anonyymi
        Anonyymi kirjoitti:

        Taaskaan ei Suomi24 moderointi toimi oikein, mitä hittoa ne sitä rassaa koko ajan, pirun ärsyttävää tuollainen toimimaton moderointi. Eikö ne voisi palkata jotakin opettamaan moderointia näille siivooja tytöille, ettei ne aina olisi pilaamassa asia viestejä.

        Tätä ne rassasi toissa yönä, kun tämä keskustelu sivusto ei toiminut. Nyt on taas palattu syyttelemään käyttäjiä sääntöjen vastaisista viesteistä. Vika on kuitenkin moderoinnin toimimattomuudesta, mutta käyttäjien on kannettava se häpeä minkä sääntöjen rikkomisesta joillekin koituu.


    • Kokeilin muodossa messagebox.showinfo('Yhteenlaskun tulos viestiikkunassa', plus) ja tulos oli sekava mutta tuo plus()) näyttää tuloksen oikein.

    • Ongelma on se että en saa tähän haluaamani ikkunaan kuvaa näkyviin joka valitaan root tasolta eli ensimmäisestä ikkunasta jossa on painike jolla saadaan tämä ikkuna näkyviin. Kaikki tekstit näkyvät oikein ikkunassa mutta kuva ei näy ollenkaan.
      Kun tässä rivissä
      canvas = Canvas(show, width = 384, height = 384) on sulkujen sisällä show niin se herjaa rivitä canvas.create_image(10,10, image = photo)

      Alla on kyseinen koodi.
      -------------
      def kuva():
      show = Tk()
      show.title("Kuvan esittäminen")
      frame = Frame(show)
      frame.pack()

      #kuva ikkunan tekskti
      teksti = Label(show, text = "Tähän tulee valokuva?")
      teksti.place(x=250, y=10)

      #kuvan liittäminen ikkunaan
      canvas = Canvas(show, width = 384, height = 384)
      photo = ImageTk.PhotoImage(Image.open ('lena.gif'))
      canvas.create_image(10,10, image = photo)
      canvas.place(x=20, y=50)

      #img = Image.open("lena.gif")
      #photo = ImageTk.PhotoImage(img)
      #lab = Label(show, image = photo)
      #lab.place(x=30, y=50)

      #photo = PhotoImage(file = 'lena.gif')
      #label = Label(show, image = photo)
      #label.place(x=30, y=30)

      #kuva ikkunan koko ja sijaihti
      show.geometry("650x650 100 100")

      #kuva ikkunan sulkeminen
      def sulje():
      show.destroy()

      buttonkuva = tk.Button(show, text='Sulje ikkuna', height = 1, width = 15, command = sulje)
      buttonkuva.place(x=260, y=620)

      show.mainloop()

    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Persut eivät ole kertoneet euronkaan edestä säästökohteita

      Mutta änkyttävät kysellä niistä muilta jatkuvasti. Vaikuttaa ettei persuilla ole kykyä omaan ajatteluun ja päätöksenteko
      Maailman menoa
      261
      3175
    2. Työeläkeloisinta Suomen suurin talousongelma

      Työeläkeloisinta maksaa vuodessa lähes 40 miljardia euroa, josta reilut 28 miljardia on pois palkansaajien ostovoimasta.
      Maailman menoa
      74
      1244
    3. 66
      1173
    4. Mun mielestäni on tosi loukkaavaa

      Nainen, että luulet palatan typeriä, sekavia ja ilkeitä viestejä mun kirjoittamiksi. Mä en ole katkera, epätoivoinen, ra
      Ikävä
      180
      978
    5. Odotettu tulos Taivalvaaran hiihtokeskuksen osalta

      "MCS Finland Oy on ilmoittanut Taivalkosken kunnalle 30.4.2026, että se irtisanoo Taivalkosken kunnan ja MCS Finland Oy:
      Taivalkoski
      47
      876
    6. Mikä se viehättävin

      Asia on kaivatussasi?
      Ikävä
      60
      829
    7. Persujen puoluekokous 2026

      Missä ja Milloin pidetään ?
      Maailman menoa
      47
      809
    8. Mitä tekisit jos

      Aamulla vierestäni heräisit
      Ikävä
      45
      732
    9. Mikä kaivatussasi

      Viehättää ulkoisesti ja mikä sisäisesti?
      Ikävä
      40
      721
    10. Minkä alan

      Ihmisiä kaivattunne on🤔
      Ikävä
      39
      688
    Aihe