Merge pull request #2572 from PySimpleGUI/Dev-latest
Added Element.unbind - removes a previously bound event from an Element
This commit is contained in:
		
						commit
						42fc3c1cd8
					
				
					 1 changed files with 16 additions and 6 deletions
				
			
		|  | @ -1,6 +1,6 @@ | ||||||
| #!/usr/bin/python3 | #!/usr/bin/python3 | ||||||
| 
 | 
 | ||||||
| version = __version__ = "4.15.1.8  Unreleased - Fix for draw_pixel, fix Multline.update with no value specified, listbox update no longer selects a default, all justifications can be shortened to single letter, fix for debug window closed with Quit button, removed f-string, draw_polygon added, print_to_element added, Listbox.get, Listbox update parm select_mode" | version = __version__ = "4.15.1.10  Unreleased - Fix for draw_pixel, fix Multline.update with no value specified, listbox update no longer selects a default, all justifications can be shortened to single letter, fix for debug window closed with Quit button, removed f-string, draw_polygon added, print_to_element added, Listbox.get, Listbox update parm select_mode, check for None when creating Multiline, Element.unbind" | ||||||
| 
 | 
 | ||||||
| port = 'PySimpleGUI' | port = 'PySimpleGUI' | ||||||
| 
 | 
 | ||||||
|  | @ -800,6 +800,17 @@ class Element(): | ||||||
|         self.Widget.bind(bind_string, lambda evt: self._user_bind_callback(bind_string, evt)) |         self.Widget.bind(bind_string, lambda evt: self._user_bind_callback(bind_string, evt)) | ||||||
|         self.user_bind_dict[bind_string] = key_modifier |         self.user_bind_dict[bind_string] = key_modifier | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |     def unbind(self, bind_string): | ||||||
|  |         """ | ||||||
|  |         Removes a previously bound tkinter event from an Element. | ||||||
|  |         :param bind_string: The string tkinter expected in its bind function | ||||||
|  |         """ | ||||||
|  |         self.Widget.unbind(bind_string) | ||||||
|  |         self.user_bind_dict.pop(bind_string, None) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     def ButtonReboundCallback(self, event): |     def ButtonReboundCallback(self, event): | ||||||
|         """ |         """ | ||||||
|         *** DEPRICATED *** |         *** DEPRICATED *** | ||||||
|  | @ -1965,9 +1976,8 @@ class Text(Element): | ||||||
|             warnings.warn('You cannot Update element with key = {} until the window has been Read or Finalized'.format(self.Key), UserWarning) |             warnings.warn('You cannot Update element with key = {} until the window has been Read or Finalized'.format(self.Key), UserWarning) | ||||||
|             return |             return | ||||||
|         if value is not None: |         if value is not None: | ||||||
|             self.DisplayText = value |             self.DisplayText = str(value) | ||||||
|             stringvar = self.TKStringVar |             self.TKStringVar.set(str(value)) | ||||||
|             stringvar.set(value) |  | ||||||
|         if background_color is not None: |         if background_color is not None: | ||||||
|             self.TKText.configure(background=background_color) |             self.TKText.configure(background=background_color) | ||||||
|         if text_color is not None: |         if text_color is not None: | ||||||
|  | @ -8813,13 +8823,13 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|             # -------------------------  MULTILINE placement element  ------------------------- # |             # -------------------------  MULTILINE placement element  ------------------------- # | ||||||
|             elif element_type == ELEM_TYPE_INPUT_MULTILINE: |             elif element_type == ELEM_TYPE_INPUT_MULTILINE: | ||||||
|                 element = element  # type: Multiline |                 element = element  # type: Multiline | ||||||
|                 default_text = element.DefaultText |  | ||||||
|                 width, height = element_size |                 width, height = element_size | ||||||
|                 bd = element.BorderWidth |                 bd = element.BorderWidth | ||||||
|                 element.TKText = element.Widget = tk.scrolledtext.ScrolledText(tk_row_frame, width=width, height=height, |                 element.TKText = element.Widget = tk.scrolledtext.ScrolledText(tk_row_frame, width=width, height=height, | ||||||
|                                                                                wrap='word', bd=bd, font=font, |                                                                                wrap='word', bd=bd, font=font, | ||||||
|                                                                                relief=RELIEF_SUNKEN) |                                                                                relief=RELIEF_SUNKEN) | ||||||
|                 element.TKText.insert(1.0, default_text)  # set the default text |                 if element.DefaultText: | ||||||
|  |                     element.TKText.insert(1.0, element.DefaultText)  # set the default text | ||||||
|                 element.TKText.config(highlightthickness=0) |                 element.TKText.config(highlightthickness=0) | ||||||
|                 if element.BackgroundColor is not None and element.BackgroundColor != COLOR_SYSTEM_DEFAULT: |                 if element.BackgroundColor is not None and element.BackgroundColor != COLOR_SYSTEM_DEFAULT: | ||||||
|                     element.TKText.configure(background=element.BackgroundColor) |                     element.TKText.configure(background=element.BackgroundColor) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue