» »

Python - Tkinter - MessageBox

Python - Tkinter - MessageBox

dunda ::

Poskušam uporabiti MessageBox v Pythonu 3.6.2
from tkinter import *
import tkinter.messagebox

root = Tk()

def callback(event):
    frame.focus_set()
    print("clicked at", event.x, event.y)
    tk.messageBox.showinfo("Podatek", event.x, event.y)

frame = Frame(root, width=100, height=100)
frame.bind("<Button-1>", callback)
frame.pack()

root.mainloop()


Zadeva vztrajno javlja "NameError: name 'tkMessageBox' is not defined"
Kako je potrebno to popraviti, da bo delovalo?
https://www.kacnje.eu

filips ::

Namesto
tk.messageBox
uporabi
tkinter.messagebox
.
tkinter.messagebox.showinfo
lahko vsebuje največ 2 argumenta, tako je potrebno
event.x, event.y
spraviti v en argument npr.
tkinter.messagebox.showinfo("Podatek", "x: " + str(event.x) + " y: " + str(event.y))

Paul30 ::

Npr:

from tkinter import *
from tkinter import messagebox

messagebox.showinfo("Info", "Message")



Tole men lepo dela v pythonu 3.62, medtem tvoj način importa ne dela (import tkinter.messagebox)

Zgodovina sprememb…

  • spremenilo: Paul30 ()

dunda ::

@filips: hvala, je takoj delalo. Tisto z izpisom bi takoj pogruntal, ampak se je ustavilo še prej :-)

@Paul30: Po pravici povedano mi tile importi niso čisto jasno. Si bo treba vzeti nekaj časa in preučiti. Vidim kar nekaj različnih načinov, pa glede na verzijo ...
https://www.kacnje.eu

Isotropic ::

zakaj si se pa odločil za tkinter?

Paul30 ::

dunda je izjavil:

@filips: hvala, je takoj delalo. Tisto z izpisom bi takoj pogruntal, ampak se je ustavilo še prej :-)

@Paul30: Po pravici povedano mi tile importi niso čisto jasno. Si bo treba vzeti nekaj časa in preučiti. Vidim kar nekaj različnih načinov, pa glede na verzijo ...


Sm se zarekel, import tkinter.messagebox tud dela, kot je flips pokazal. Vsekakor pa 1 vrstica pri importu ni dovolj, moras posebej importat messagebox, je pa lahko mal zmesnjav glede različnih verzij.

Mal off topic, sam razmišljam, da bi preskočil učenje glede GUI Tkinterja ter se naučil Kivy al pa wxPython. Ima kdo izkušnje z Kivy, kako se mu zdi?
Al se bolj splaca PyQt, kjer je tud neki licenčnine?

Najraje bi se na 1 osredotočil na eno.

PARTyZAN ::

Za PyQt ne rabiš licence, če je tvoj produkt kompatibilen z GPLv3 (delaš na odprto kodnem projektu?). Drugače je pa alternativa tudi PySide, kateri nima teh omejitev, se pa reč zadnje čase razvija precej počasi. Če obvladaš enega izmed teh ti tudi prehod na drugega ne bi smel delat večjih težav.

dunda ::

Isotropic je izjavil:

zakaj si se pa odločil za tkinter?

Saj ni nič resnega, le malo sem pogledal ... podobno kot Paul30 bi rad izbral eno zadevo, da se jo malo naučim in občasno uporabim.
Zato bi si želel, da je vse skupaj preprosto in čim bolj prenosljivo med sistemi z GUI seveda.
Nisem programer in enostavno nimam časa slediti in se učiti tega. Se pa kdaj vseeno pojavi potreba po čem manjšem.
Kaj torej svetujete? Da bi recimo lahko hitro prenesel med Win, Android in www? Sem preveč optimističen (ampak resnično ne gre za kakšne večje zadeve)?
https://www.kacnje.eu

radiergummi ::

Tkinter (recimo http://infohost.nmt.edu/tcc/help/pubs/t... ) je verjetno najbolj enostaven. Izberi Kivy (https://kivy.org/#home ) v kolikor hočeš, da bi aplikacije delovale na mobilnih platformah. Za namizne aplikacije sta definitivno najbolj dovršena Gtk+ 3 (https://python-gtk-3-tutorial.readthedo... ) in PyQt (https://riverbankcomputing.com/software... ). To pomeni, da se najbolje zlijeta z izgledom operacijskega sistema.

Zgodovina sprememb…

dunda ::

Hvala, bom pogledal te zadeve. Tkinter mi je najprej padel v oči pri primerih, saj se mi je zdelo, da je pri drugih potrebna še neka namestitev ali kaj.
https://www.kacnje.eu

radiergummi ::

Ostale niso vgrajene ja, torej je potrebna namestitev. Preprostost namestitve je odvisna od operacijskega sistema, ki ga uporabljaš.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
!

[Python] Povezave

Oddelek: Programiranje
4243649 (4110) A110
»

Python - pomoč (strani: 1 2 3 )

Oddelek: Programiranje
10317177 (7925) black ice
»

Programski jezik za Linux programe

Oddelek: Programiranje
161981 (1337) gnomee
»

python -slovar

Oddelek: Programiranje
223000 (1979) Valex86
»

Visual Studio C++ MessageBox izpis večih spremenljivk

Oddelek: Programiranje
181645 (1386) spinner

Več podobnih tem