GUI component interaction: Difference between revisions

m (→‎{{header|Python}}: {{works with|Python|2.7}})
Line 2,514:
 
=={{header|Python}}==
===Python2 - no classes===
W/out class and using grid layout
{{libheader|Tkinter}}
Line 2,543 ⟶ 2,544:
mainloop()</lang>
 
===Python3 - no classes===
{{libheader|Tkinter}}
{{works with|Python|3.5}}
<lang python>
import random, tkinter.messagebox
from tkinter import *
 
window = Tk()
window.geometry("300x50+100+100")
options = { "padx":5, "pady":5}
s=StringVar()
s.set(1)
 
def increase():
s.set(int(s.get())+1)
def rand():
if messagebox.askyesno("Confirmation", "Reset to random value ?"):
s.set(random.randrange(0,5000))
def update(e):
if not e.char.isdigit():
messagebox.showerror('Error', 'Invalid input !')
return "break"
 
e = Entry(text=s)
e.grid(column=0, row=0, **options)
e.bind('<Key>', update)
 
b1 = Button(text="Increase", command=increase, **options )
b1.grid(column=1, row=0, **options)
b2 = Button(text="Random", command=rand, **options)
b2.grid(column=2, row=0, **options)
mainloop()</lang>
 
 
===Python2 - With classes===
{{libheader|Tkinter}}
<lang python>import random
from Tkinter import *
import tkMessageBox
 
 
class Application(Frame):
Line 2,589 ⟶ 2,624:
self.random_button = Button(self, text='Random', command=self.random)
self.random_button.pack(**options)
 
 
if __name__ == '__main__':
Anonymous user