mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import W
 | |
| 
 | |
| # define some callbacks
 | |
| def callback():
 | |
| 	window.close()
 | |
| 
 | |
| def checkcallback(value):
 | |
| 	print "hit the checkbox", value
 | |
| 
 | |
| def radiocallback(value):
 | |
| 	print "hit radiobutton #3", value
 | |
| 
 | |
| def scrollcallback(value):
 | |
| 	widget = window.hbar
 | |
| 	if value == "+":
 | |
| 		widget.set(widget.get() - 1)
 | |
| 	elif value == "-":
 | |
| 		widget.set(widget.get() + 1)
 | |
| 	elif value == "++":
 | |
| 		widget.set(widget.get() - 10)
 | |
| 	elif value == "--":
 | |
| 		widget.set(widget.get() + 10)
 | |
| 	else:   # in thumb
 | |
| 		widget.set(value)
 | |
| 	print "scroll...", widget.get()
 | |
| 
 | |
| def textcallback():
 | |
| 	window.et3.set(window.et1.get())
 | |
| 
 | |
| def cancel():
 | |
| 	import EasyDialogs
 | |
| 	EasyDialogs.Message("Cancel!")
 | |
| 
 | |
| # make a non-sizable window
 | |
| #window = W.Window((200, 300), "Fixed Size")
 | |
| 
 | |
| #  make a sizable window
 | |
| window = W.Window((200, 300), "Variable Size!", minsize = (200, 300))
 | |
| 
 | |
| # make some edit text widgets
 | |
| window.et1 = W.EditText((10, 10, 110, 110), "Hallo!", textcallback)
 | |
| window.et2 = W.EditText((130, 40, 60, 30), "one!")
 | |
| window.et3 = W.EditText((130, 80, -10, 40), "two?")
 | |
| 
 | |
| # a button
 | |
| window.button = W.Button((-70, 10, 60, 16), "Close", callback)
 | |
| 
 | |
| # a checkbox
 | |
| window.ch = W.CheckBox((10, 130, 160, 16), "Check (command §)", checkcallback)
 | |
| 
 | |
| # set of radio buttons (should become easier/nicer)
 | |
| thebuttons = []
 | |
| window.r1 = W.RadioButton((10, 150, 180, 16), "Radio 1 (cmd 1)", thebuttons)
 | |
| window.r2 = W.RadioButton((10, 170, 180, 16), "Radio 2 (cmd 2)", thebuttons)
 | |
| window.r3 = W.RadioButton((10, 190, 180, 16), "Radio 3 (cmd 3)", thebuttons, radiocallback)
 | |
| window.r1.set(1)
 | |
| 
 | |
| # a normal button
 | |
| window.cancelbutton = W.Button((10, 220, 60, 16), "Cancel", cancel)
 | |
| 
 | |
| # a scrollbar
 | |
| window.hbar = W.Scrollbar((-1, -15, -14, 16), scrollcallback, max = 100)
 | |
| 
 | |
| # some static text
 | |
| window.static = W.TextBox((10, 260, 110, 16), "Schtatic")
 | |
| 
 | |
| # bind some keystrokes to functions
 | |
| window.bind('cmd§', window.ch.push)
 | |
| window.bind('cmd1', window.r1.push)
 | |
| window.bind('cmd2', window.r2.push)
 | |
| window.bind('cmd3', window.r3.push)
 | |
| window.bind('cmdw', window.button.push)
 | |
| window.bind('cmd.', window.cancelbutton.push)
 | |
| 
 | |
| window.setdefaultbutton(window.button)
 | |
| # open the window
 | |
| window.open()
 | |
| 
 | |
| if 0:
 | |
| 	import time
 | |
| 	for i in range(20):
 | |
| 		window.et2.set(`i`)
 | |
| 		#window.et2.SetPort()
 | |
| 		#window.et2.draw()
 | |
| 		time.sleep(0.1)
 | 
