[Python-ideas] A GUI for beginners and experts alike
Greg Ewing
greg.ewing at canterbury.ac.nz
Fri Aug 24 21:20:35 EDT 2018
Here are some PyGUI versions of the ABC Challenge.
#---------------- Modal --------------------
from GUI import ModalDialog, Label, TextField, Row, Column, Grid
from GUI.StdButtons import DefaultButton, CancelButton
from GUI.Alerts import note_alert
a = TextField(width = 100)
b = TextField(width = 100)
c = TextField(width = 100)
buttons = Row([DefaultButton(), CancelButton()])
dlog = ModalDialog(title = "ABC Challenge")
dlog.add(Column([
Grid([
[Label("A"), a],
[Label("B"), b],
[Label("C"), c],
]),
buttons],
padding = (10, 10)))
dlog.shrink_wrap()
if dlog.present():
note_alert("Sum = %s" % (int(a.text) + int(b.text) + int(c.text)))
#---------------- Non-Modal ------------------
from GUI import Window, Label, TextField, Grid, application
def update():
try:
c.text = str(int(a.text) + int(b.text))
except ValueError:
c.text = ""
a = TextField(width = 100, text_changed_action = update)
b = TextField(width = 100, text_changed_action = update)
c = TextField(width = 100, editable = False)
win = Window(title = "ABC Challenge")
win.add(
Grid([
[Label("A"), a],
[Label("B"), b],
[Label("A + B"), c],
], padding = (10, 10)))
win.shrink_wrap()
win.show()
application().run()
--
Greg
More information about the Python-ideas
mailing list