-
Notifications
You must be signed in to change notification settings - Fork 2
/
DialogMenuClass.py
91 lines (51 loc) · 2.01 KB
/
DialogMenuClass.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from tkinter import *
class DialogMenuClass:
def __init__(self, parent,itemsforlistbox,mensagem):
self.bExit = True
top = self.top = Toplevel(parent)
Label(top, text=mensagem).pack()
self.valor = ""
mylistbox=Listbox(top,width= 50,font=('courier',10))
mylistbox.bind('<<ListboxSelect>>',self.CurSelect)
mylistbox.pack()
for items in itemsforlistbox:
mylistbox.insert(END,items)
b = Button(top, text="OK", command=self.ok)
b.pack(pady=5)
######################################################
# centraliza a janela
# Obtem a altura e largura da janela
windowWidth = parent.winfo_reqwidth()
windowHeight = parent.winfo_reqheight()
print("Width",windowWidth,"Height",windowHeight)
# Obtem a posicao central
positionRight = int(parent.winfo_screenwidth()/2 - windowWidth/2)
positionDown = int(parent.winfo_screenheight()/2 - windowHeight/2)
# centraliza a janela
top.geometry("+{}+{}".format(positionRight, positionDown))
def ok(self):
self.bExit = False
print ("value is", self.valor)
self.top.destroy()
def CurSelect(self,event):
widget = event.widget
selection=widget.curselection()
picked = widget.get(selection[0])
print(picked)
self.valor = selection[0]
############################
# codigo de teste da classe
#
#from tkinter import*
#root=Tk()
#sizex = 600
#sizey = 400
#posx = 20
#posy = 10
#root.wm_geometry("%dx%d+%d+%d" % (sizex, sizey, posx, posy))
#itemsforlistbox=['one','two','three','four','five','six','seven','eight 8888888888888888888888888888888888888888888']
#d = DialogMenuData(root,itemsforlistbox,'selecione a opcao:')
#root.wait_window(d.top)
#print(d.valor)
#root.mainloop()
#############################