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

336

    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. Kelekkakisat

      Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.
      Nivala
      15
      7042
    2. Aivan kauheaa

      Veikö koskiuoma taas ihmishengen? Se pitää kieltää!
      Imatra
      19
      3499
    3. Onko kaivattusi

      …mielestäsi älykäs, tai kenties tyhmä? Oma mielipide.
      Ikävä
      95
      3452
    4. Kuinka pitkä välimatka

      on teidän kotien välillä?
      Ikävä
      91
      3095
    5. Eikö me voitais

      Vaan harrastaa seksiä kun muusta ei tule mitään
      Ikävä
      52
      2974
    6. Oletko huomannut

      Yhden muutoksen?
      Ikävä
      33
      2677
    7. Epäilen ettet edes

      Kehtaisi liikkua kanssani.
      Ikävä
      46
      2494
    8. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      12
      2439
    9. Pitäis vaan lopettaa

      Sinun kanssa yhteydenpito. Alkaa vaan haluamaan enemmän ja tuskin lopulta mikään kohtaisi. Ja ikävä vaan kasvaa ja lähei
      Ikävä
      13
      2200
    10. Ikävä uutinen uudesta Unelmia Italiassa -kaudesta

      Unelmia Italiassa -sarja on ollut supersuosittu ja uutta kautta on odotettu. Nyt on tullut se aika, että TV-katsojat pää
      Tv-sarjat
      8
      1985
    Aihe