Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from Tkinter import *
- class Computing():
- def object_recognition(self, attributes):
- temp1 = (set(listbox1.get(0, END)) & set(attributes))
- temp2 = (set(listbox3.get(0, END)) & set(attributes))
- if len(temp1) >= len(temp2):
- return '1'
- return '2'
- def recognize_lerning(self, attributes, object_id):
- if object_id == '1':
- #adding features to object2
- temp_list = list((set(attributes) & set(listbox1.get(0, END))) | set(listbox3.get(0, END)))
- listbox3.delete(0, END)
- for x in temp_list:
- listbox3.insert(END, x)
- #deleting features from object1 that was added to object2
- temp_list = list(set(listbox1.get(0, END)) - (set(attributes) & set(listbox1.get(0, END))))
- listbox1.delete(0, END)
- for x in temp_list:
- listbox1.insert(END, x)
- if object_id =='2':
- #adding features to object1
- temp_list = list((set(attributes) & set(listbox3.get(0, END))) | set(listbox1.get(0, END)))
- listbox1.delete(0, END)
- for x in temp_list:
- listbox1.insert(END, x)
- #deleting features from object2 that was added to object1
- temp_list = list(set(listbox3.get(0, END)) - (set(attributes) & set(listbox3.get(0, END))))
- listbox3.delete(0, END)
- for x in temp_list:
- listbox3.insert(END, x)
- def adding_features(self, attributes, object_id):
- if object_id == '1':
- features_to_add = (set(listbox1.get(0, END)) - set(attributes)) & (set(listbox2.get(0, END)) - set(attributes)) & (set(listbox3.get(0, END)) - set(attributes))
- temp_list = list(set(listbox1.get(0, END)) | features_to_add)
- listbox1.delete(0, END)
- for x in temp_list:
- listbox1.insert(END, x)
- if object_id == '2':
- features_to_add = (set(listbox1.get(0, END)) - set(attributes)) & (set(listbox2.get(0, END)) - set(attributes)) & (set(listbox3.get(0, END)) - set(attributes))
- temp_list = list(set(listbox3.get(0, END)) | features_to_add)
- listbox3.delete(0, END)
- for x in temp_list:
- listbox3.insert(END, x)
- class subform():
- def __init__(self):
- self.subroot = Tk()
- self.object_attributes = textbox1.get().split(' ')
- self.computer = Computing()
- self.object_id = self.computer.object_recognition(self.object_attributes)
- self.label1_text = 'This is object number ' + self.object_id
- self.label1 = Label(self.subroot, text = self.label1_text)
- self.button1 = Button(self.subroot, text = 'Yes', width = 20, command = lambda : self.button1_click())
- self.button2 = Button(self.subroot, text = 'No', width = 20, command = lambda : self.button2_click())
- self.label1.grid(row = 1, column = 1, columnspan = 2)
- self.button1.grid(row = 2, column = 1)
- self.button2.grid(row = 2, column = 2)
- def button1_click(self):
- self.computer.adding_features(self.object_attributes, self.object_id)
- self.subroot.destroy()
- def button2_click(self):
- self.computer.recognize_lerning(self.object_attributes, self.object_id)
- self.subroot.destroy()
- def button_click():
- if v2.get() == 1 and v1.get() == 'First':
- for x in textbox1.get().split(' '):
- listbox1.insert(END, x)
- textbox1.delete(0, END)
- elif v2.get() == 1 and v1.get() == 'Second':
- for x in textbox1.get().split(' '):
- listbox3.insert(END, x)
- textbox1.delete(0, END)
- elif v2.get() == 1 and v1.get() == 'General':
- for x in textbox1.get().split(' '):
- listbox2.insert(END, x)
- textbox1.delete(0, END)
- if v2.get() == 2:
- subform1 = subform()
- def radiobutton2_click():
- temp_list1 = []
- temp_list2 = []
- temp_list3 = []
- temp_list1 = set(listbox1.get(0, END))
- temp_list2 = list(set(listbox1.get(0, END)) & set(listbox3.get(0, END)) | set(listbox2.get(0, END)))
- temp_list3 = set(listbox3.get(0, END))
- listbox1.delete(0, END)
- listbox2.delete(0, END)
- listbox3.delete(0, END)
- for x in temp_list1:
- listbox1.insert(END, x)
- for x in temp_list2:
- listbox2.insert(END, x)
- for x in temp_list3:
- listbox3.insert(END, x)
- root = Tk()
- frame1 = Frame()
- frame2 = Frame()
- frame3 = Frame()
- v1 = StringVar()
- v1.set('First')
- dropdownlist1 = OptionMenu(root, v1,'First', 'Second', 'General')
- listbox1 = Listbox()
- listbox2 = Listbox()
- listbox3 = Listbox()
- textbox1 = Entry(width = 45)
- button1 = Button(None, text = 'Submit', height = 1, width = 6, command = button_click)
- v2 = IntVar()
- v2.set(0)
- radiobutton1 = Radiobutton(text = 'Lerning', variable = v2, value = 1)
- radiobutton2 = Radiobutton(text = 'Recognition', variable = v2, value = 2, command = radiobutton2_click)
- listbox1.grid(row = 1, column = 1)
- listbox2.grid(row = 1, column = 2)
- listbox3.grid(row = 1, column = 3)
- textbox1.grid(row = 2, column = 1, columnspan = 3, sticky = 'w')
- radiobutton1.grid(row = 3, column = 1, sticky = 'w')
- radiobutton2.grid(row = 3, column = 2, sticky = 'w')
- button1.grid(row = 3, column = 3, sticky = 'e')
- dropdownlist1.grid(row = 2, column = 3, sticky = 'e')
- mainloop()
Advertisement
Add Comment
Please, Sign In to add comment