Release 4.40.0

This commit is contained in:
PySimpleGUI 2021-04-26 17:07:31 -04:00
parent c9fb11362a
commit 33178fe29f
7 changed files with 401 additions and 17 deletions

View File

@ -1,5 +1,5 @@
#!/usr/bin/python3 #!/usr/bin/python3
version = __version__ = "4.39.1.17 Unreleased\nfix for TCL error when scrolling col element (Jason99020 scores again!), Button error popups with trace when bad images found, addition of size parameter to TabGroup, changed where key gets set for buttons - was causing problems with buttons that set a key explicitly, fix for grraph drag events that was caused by the realtime button fix, one more fix for realtimebutton problem, Checkbox.get now returns bool, Button gets mouseover_colors parm, fix for Debug window, changed the console message when using the word default in the theme, set ColorChooser target default to match other chooser buttons, fix for SystemDefaultForReal theme right click menu, reworked the Issues GUI to fit on smaller screens, fixed extend_layout so key counter not restarted, hopefully last fix for COLOR_SYSTEM_DEFAULTS problem. New theme GrayGrayGray for those that insist, added back popup_annoying, popup_no_border, popup_no_frame, popup_no_wait, popup_timed, sgprint, sgprint_close, MENU_RIGHT_CLICK_EXIT constant to get an Exit only right click menu, fix for Window.extend_layout when a scrollable column is used, ttk buttons with graygraygray theme fixes, GitHub Issue GUI - completely reworked help page since it's very large" version = __version__ = "4.40.0 Released 26-Apr-2021"
__version__ = version.split()[0] # For PEP 396 and PEP 345 __version__ = version.split()[0] # For PEP 396 and PEP 345
@ -129,7 +129,6 @@ try: # Because Raspberry Pi is still on 3.4....
import subprocess import subprocess
except: pass except: pass
from threading import Thread
import threading import threading
import itertools import itertools
import os import os
@ -1285,11 +1284,13 @@ class Element():
if self.Type == ELEM_TYPE_INPUT_LISTBOX: if self.Type == ELEM_TYPE_INPUT_LISTBOX:
self.listbox_frame.pack(expand=True, fill=fill) self.listbox_frame.pack(expand=True, fill=fill)
def set_cursor(self,cursor=None, cursor_color=None): def set_cursor(self,cursor=None, cursor_color=None):
""" """
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
:param cursor: The tkinter cursor name :param cursor: The tkinter cursor name
@ -9484,6 +9485,8 @@ Normally a tuple, but can be a simplified-dual-color-string "foreground on backg
def set_cursor(self, cursor): def set_cursor(self, cursor):
""" """
Sets the cursor for the window. Sets the cursor for the window.
If you do not want any mouse pointer, then use the string "none"
:param cursor: The tkinter cursor name :param cursor: The tkinter cursor name
:type cursor: (str) :type cursor: (str)
""" """

View File

@ -44,6 +44,7 @@ Button(button_text = "",
button_color = None, button_color = None,
disabled_button_color = None, disabled_button_color = None,
highlight_colors = None, highlight_colors = None,
mouseover_colors = (None, None),
use_ttk_buttons = None, use_ttk_buttons = None,
font = None, font = None,
bind_return_key = False, bind_return_key = False,
@ -79,8 +80,9 @@ Parameter Descriptions:
| (int, int) or (None, None) | s | Same as size parameter. It's an alias. If EITHER of them are set, then the one that's set will be used. If BOTH are set, size will be used | | (int, int) or (None, None) | s | Same as size parameter. It's an alias. If EITHER of them are set, then the one that's set will be used. If BOTH are set, size will be used |
| bool | auto_size_button | if True the button size is sized to fit the text | | bool | auto_size_button | if True the button size is sized to fit the text |
| Tuple[str, str] or str or Tuple[int, int] or None | button_color | Color of button. default is from theme or the window. Easy to remember which is which if you say "ON" between colors. "red" on "green". Normally a tuple, but can be a simplified-button-color-string "foreground on background". Can be a single color if want to set only the background. | | Tuple[str, str] or str or Tuple[int, int] or None | button_color | Color of button. default is from theme or the window. Easy to remember which is which if you say "ON" between colors. "red" on "green". Normally a tuple, but can be a simplified-button-color-string "foreground on background". Can be a single color if want to set only the background. |
| Tuple[str, str] | disabled_button_color | colors to use when button is disabled (text, background). Use None for a color if don't want to change. Only ttk buttons support both text and background colors. tk buttons only support changing text color | | Tuple[str, str] or str | disabled_button_color | colors to use when button is disabled (text, background). Use None for a color if don't want to change. Only ttk buttons support both text and background colors. tk buttons only support changing text color |
| Tuple[str, str] | highlight_colors | colors to use when button has focus (highlight, background). None will use computed colors. Only used by Linux and only for non-TTK button | | Tuple[str, str] | highlight_colors | colors to use when button has focus (has focus, does not have focus). None will use colors based on theme. Only used by Linux and only for non-TTK button |
| (str, str) or str | mouseover_colors | Important difference between Linux & Windows! Linux - Colors when mouse moved over button. Windows - colors when button is pressed. The default is to switch the text and background colors (an inverse effect) |
| bool | use_ttk_buttons | True = use ttk buttons. False = do not use ttk buttons. None (Default) = use ttk buttons only if on a Mac and not with button images | | bool | use_ttk_buttons | True = use ttk buttons. False = do not use ttk buttons. None (Default) = use ttk buttons only if on a Mac and not with button images |
| str or Tuple[str, int] | font | specifies the font family, size, etc | | str or Tuple[str, int] | font | specifies the font family, size, etc |
| bool | bind_return_key | If True the return key will cause this button to be pressed | | bool | bind_return_key | If True the return key will cause this button to be pressed |
@ -196,6 +198,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -559,6 +562,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -856,6 +860,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -1144,6 +1149,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -1493,6 +1499,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -1833,6 +1840,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -2195,6 +2203,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -2717,7 +2726,7 @@ Parameter Descriptions:
|Type|Name|Meaning| |Type|Name|Meaning|
|--|--|--| |--|--|--|
| str | text | text to display | | Any | text | text to display |
| Tuple[int, int] or Tuple[float, float] | location | location to place first letter | | Tuple[int, int] or Tuple[float, float] | location | location to place first letter |
| str | color | text color | | str | color | text color |
| str or Tuple[str, int] | font | specifies the font family, size, etc | | str or Tuple[str, int] | font | specifies the font family, size, etc |
@ -2881,6 +2890,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -3223,7 +3233,7 @@ Parameter Descriptions:
|Type|Name|Meaning| |Type|Name|Meaning|
|--|--|--| |--|--|--|
| str | text | text to display | | Any | text | text to display |
| Tuple[int, int] or Tuple[float, float] | location | location to place first letter | | Tuple[int, int] or Tuple[float, float] | location | location to place first letter |
| str | color | text color | | str | color | text color |
| str or Tuple[str, int] | font | specifies the font family, size, etc | | str or Tuple[str, int] | font | specifies the font family, size, etc |
@ -3480,6 +3490,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -3728,6 +3739,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -4102,6 +4114,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -4482,6 +4495,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -4853,6 +4867,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -5255,6 +5270,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -5600,6 +5616,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -5905,6 +5922,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -6229,6 +6247,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -6490,6 +6509,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -6841,6 +6861,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -7179,6 +7200,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -7489,6 +7511,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -7809,6 +7832,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -8142,6 +8166,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -8359,6 +8384,8 @@ TabGroup(layout,
theme = None, theme = None,
key = None, key = None,
k = None, k = None,
size = (None, None),
s = (None, None),
tooltip = None, tooltip = None,
visible = True, visible = True,
metadata = None) metadata = None)
@ -8383,6 +8410,8 @@ Parameter Descriptions:
| enum | theme | DEPRICATED - You can only specify themes using set options or when window is created. It's not possible to do it on an element basis | | enum | theme | DEPRICATED - You can only specify themes using set options or when window is created. It's not possible to do it on an element basis |
| str or int or tuple or object | key | Value that uniquely identifies this element from all other elements. Used when Finding an element or in return values. Must be unique to the window | | str or int or tuple or object | key | Value that uniquely identifies this element from all other elements. Used when Finding an element or in return values. Must be unique to the window |
| str or int or tuple or object | k | Same as the Key. You can use either k or key. Which ever is set will be used. | | str or int or tuple or object | k | Same as the Key. You can use either k or key. Which ever is set will be used. |
| (intorNone, intorNone) | size | (width, height) w=pixels-wide, h=pixels-high. Either item in tuple can be None to indicate use the computed value and set only 1 direction |
| (intorNone, intorNone) | s | Same as size parameter. It's an alias. If EITHER of them are set, then the one that's set will be used. If BOTH are set, size will be used |
| str | tooltip | text, that will appear when mouse hovers over the element | | str | tooltip | text, that will appear when mouse hovers over the element |
| bool | visible | set visibility state of the element | | bool | visible | set visibility state of the element |
| Any | metadata | User metadata that can be set to ANYTHING | | Any | metadata | User metadata that can be set to ANYTHING |
@ -8500,6 +8529,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -8843,6 +8873,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -9158,6 +9189,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -9556,6 +9588,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -9904,6 +9937,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -10831,6 +10865,7 @@ Parameter Descriptions:
### set_cursor ### set_cursor
Sets the cursor for the window. Sets the cursor for the window.
If you do not want any mouse pointer, then use the string "none"
``` ```
set_cursor(cursor) set_cursor(cursor)
@ -11738,8 +11773,8 @@ Parameter Descriptions:
|Type|Name|Meaning| |Type|Name|Meaning|
|--|--|--| |--|--|--|
| int | timeout | Time in milliseconds to delay before a returning a timeout event | | int | timeout | Time in milliseconds to delay before a returning a timeout event |
| Any | ti```meout_key | Key to return when a timeout happens. Defaults to the standard TIMEOUT_KEY | | Any | timeout_key | Key to return when a timeout happens. Defaults to the standard TIMEOUT_KEY |
| Tuple[Window, Any, (Dict or List)] | **RETURN** | A tuple with the (Window, event, values dictionary/list) | Tuple[Window, Any, (Dict or List)] | **RETURN** | A tuple with the (Window, event, values dictionary/list)
## Button Related ## Button Related
@ -11853,7 +11888,7 @@ Parameter Descriptions:
``` ```
ColorChooserButton(button_text, ColorChooserButton(button_text,
target = (None, None), target = (555666777, -1),
image_filename = None, image_filename = None,
image_data = None, image_data = None,
image_size = (None, None), image_size = (None, None),
@ -12946,6 +12981,62 @@ colors -(str, str) or str. A combined text/background color definition in a sin
c - Tuple[str, str] - Colors tuple has format (foreground, backgrouned) c - Tuple[str, str] - Colors tuple has format (foreground, backgrouned)
c - str - can also be a string of the format "foreground on background" ("white on red") c - str - can also be a string of the format "foreground on background" ("white on red")
```
sgprint(args=*<1 or N object>,
size = (None, None),
end = None,
sep = None,
location = (None, None),
font = None,
no_titlebar = False,
no_button = False,
grab_anywhere = False,
keep_on_top = False,
do_not_reroute_stdout = True,
text_color = None,
background_color = None,
colors = None,
c = None,
erase_all = False)
```
Parameter Descriptions:
|Type|Name|Meaning|
|--|--|--|
| Any | *args | stuff to output |
| (int, int) | size | (w,h) w=characters-wide, h=rows-high |
| str | end | end character |
| str | sep | separator character |
| Tuple[int, int] | location | Location of upper left corner of the window |
| str or Tuple[str, int] | font | specifies the font family, size, etc |
| bool | no_titlebar | If True no titlebar will be shown |
| bool | no_button | don't show button |
| bool | grab_anywhere | If True: can grab anywhere to move the window (Default = False) |
| str | background_color | color of background |
| str | text_color | color of the text |
| bool | keep_on_top | If True the window will remain above all current windows |
| Tuple[int, int] | location | Location of upper left corner of the window |
| bool | do_not_reroute_stdout | do not reroute stdout |
| str) or Tuple[str, str] | colors | Either a tuple or a string that has both the text and background colors |
| str) or Tuple[str, str] | c | Either a tuple or a string that has both the text and background colors |
| bool | erase_all | If True when erase the output before printing |
Close a previously opened EasyPrint window
```
sgprint_close()
```
Works like a "print" statement but with windowing options. Routes output to the "Debug Window"
In addition to the normal text and background colors, you can use a "colors" tuple/string
The "colors" or "c" parameter defines both the text and background in a single parm.
It can be a tuple or a single single. Both text and background colors need to be specified
colors -(str, str) or str. A combined text/background color definition in a single parameter
c - Tuple[str, str] - Colors tuple has format (foreground, backgrouned)
c - str - can also be a string of the format "foreground on background" ("white on red")
``` ```
EasyPrint(args=*<1 or N object>, EasyPrint(args=*<1 or N object>,
size = (None, None), size = (None, None),

View File

@ -1567,6 +1567,52 @@ If `non_blocking` parameter is set, then the call will not blocking waiting for
### Non-Blocking Popups - popup_no_wait and the non_blocking parameter ### Non-Blocking Popups - popup_no_wait and the non_blocking parameter
Show Popup window and immediately return (does not block)
```
popup_no_wait(args=*<1 or N object>,
title = None,
button_type = 0,
button_color = None,
background_color = None,
text_color = None,
auto_close = False,
auto_close_duration = None,
non_blocking = True,
icon = None,
line_width = None,
font = None,
no_titlebar = False,
grab_anywhere = False,
keep_on_top = False,
location = (None, None),
image = None,
modal = False)
```
Parameter Descriptions:
|Type|Name|Meaning|
|--|--|--|
| Any | *args | Variable number of items to display |
| str | title | Title to display in the window. |
| int | button_type | Determines which pre-defined buttons will be shown (Default value = POPUP_BUTTONS_OK). |
| Tuple[str, str] or str | button_color | button color (foreground, background) |
| str | background_color | color of background |
| str | text_color | color of the text |
| bool | auto_close | if True window will close itself |
| int or float | auto_close_duration | Older versions only accept int. Time in seconds until window will close |
| bool | non_blocking | if True the call will immediately return rather than waiting on user input |
| bytes or str | icon | filename or base64 string to be used for the window's icon |
| int | line_width | Width of lines in characters |
| str or Tuple[str, int] | font | specifies the font family, size, etc |
| bool | no_titlebar | If True no titlebar will be shown |
| bool | grab_anywhere | If True: can grab anywhere to move the window (Default = False) |
| Tuple[int, int] | location | Location of upper left corner of the window |
| str or bytes | image | Image to include at the top of the popup window |
| bool | modal | If True then makes the popup will behave like a Modal window... all other windows are non-operational until this one is closed. Default = False |
| str or None | **RETURN** | Reason for popup closing
The `popup` call `popup_no_wait` or `popup_non_blocking` will create a popup window and then immediately return control back to you. You can turn other popup calls into non-blocking popups if they have a `non_blocking` parameter. Setting `non_blocking` to True will cause the function to return immediately rather than waiting for the window to be closed. The `popup` call `popup_no_wait` or `popup_non_blocking` will create a popup window and then immediately return control back to you. You can turn other popup calls into non-blocking popups if they have a `non_blocking` parameter. Setting `non_blocking` to True will cause the function to return immediately rather than waiting for the window to be closed.
This function is very handy for when you're **debugging** and want to display something as output but don't want to change the programs's overall timing by blocking. Think of it like a `print` statement. There are no return values on one of these Popups. This function is very handy for when you're **debugging** and want to display something as output but don't want to change the programs's overall timing by blocking. Think of it like a `print` statement. There are no return values on one of these Popups.
@ -8598,6 +8644,41 @@ GitHub Issues GUI
* Added more symbols for buttons - double L/R & arrowheads, * Added more symbols for buttons - double L/R & arrowheads,
* Moved theme tests into a tab" in sg.main * Moved theme tests into a tab" in sg.main
## 4.40.0 PySimpleGUI 25-Apr-2021
The "A4 Release" (440 Hz)
Buttons get a boost
Fix for Graph Dragging caused by last release
Gray Gray Gray should you wish to go colorless
* Right-click Menu constant - MENU_RIGHT_CLICK_EXIT - Has only "Exit"
* Constant = ['', ['Exit']]
* Checkbox.get() now returns a bool instead of int
* Button colors
* mouseover_colors - new parm to Button. Sets the color when mouse moves over the button
* When a TK Button this is Only visible on Linux systems when mouse is over button
* On Windows, these colors appear when the button is clicked
* Default is to swap the button's normal colors (text = background, background = text)
* Close Window Only button type changed to work on all windows, not just non-blocking ones
* ColorChooserButton - target now matches other choosers (target=(ThisRow, -1))
* TabGroup - new size parm that will set size in either or both directions
* Fix for TCL error when scrolling a column
* Themes
* Fix for COLOR_SYSTEM_DEFAULT error when choosing "default1" Theme
* New Theme - "Gray Gray Gray" - sets no colors. The window will likely be some shades of gray
* Changed error messages to use "theme" instead of the old "change_look_and_feel"
*
* Debug window - problems was if set the erase_all parm and Debug window is then closed
* timer_start, timer_stop - stop now returns the milliseconds elapsed instead of printing them
* popup_menu - now uses the passed in title if provided
* GitHub Issues GUI
* Made necessary changes to be 3.4 compatible. You can post Issues directly from your Pi running 3.4
* Changed layout so that the window is smaller
* New Help window uses tabs to make smaller
* Fix for extend_layout when adding to a scrollable column
* Added back functions accidently lost during a PEP8 rework
* added back popup_annoying, popup_no_border, popup_no_frame, popup_no_wait, popup_timed, sgprint, sgprint_close
## Upcoming ## Upcoming
The future for PySimpleGUI looks bright! The future for PySimpleGUI looks bright!

View File

@ -59,7 +59,7 @@ WxPython
# PySimpleGUIとは何ですか:question: # PySimpleGUIとは何ですか:question:
PySimpleGUIはあらゆるレベルのPythonプログラマがGUIを作成できるようにするPythonパッケージです。ウィジェットを含む 「レイアウト」を使用して GUI ウィンドウを指定します (PySimpleGUI では「エレメント」と呼びます)。 レイアウトはサポートされている4つのフレームワークのいずれかを使用してウィンドウを作成して、ウィンドウの表示や操作するのに使用されます。 サポートされるフレームワークは、tkinter、Qt、WxPython、WxPythonまたはRemiが含まれます。このようなパッケージには「ラッパー」という用語が使われることがあります。 PySimpleGUIはあらゆるレベルのPythonプログラマがGUIを作成できるようにするPythonパッケージです。ウィジェットを含む 「レイアウト」を使用して GUI ウィンドウを指定します (PySimpleGUI では「エレメント」と呼びます)。 レイアウトはサポートされている4つのフレームワークのいずれかを使用してウィンドウを作成して、ウィンドウの表示や操作するのに使用されます。 サポートされるフレームワークは、tkinter、Qt、WxPython、WxPythonまたはRemiが含まれます。このようなパッケージには「ラッパー」という用語が使われることがあります。
PySimpleGUIは「ボイラープレートコード」の多くを実装しているため、基となるフレームワークで直接記述するよりも単純で短かいコードになります。 PySimpleGUIは「ボイラープレートコード」の多くを実装しているため、基となるフレームワークで直接記述するよりも単純で短かいコードになります。
さらにインターフェイスは、望んだ結果を得るために必要なコードをできるだけ少なくするように単純化されています。使用するプログラムやフレームワークにもよりますが、PySimpleGUIでのプログラムはフレームワークのいずれかを直接使用して同じウィンドウを作成するよりも、コードの量は1/2から1/10程度になる場合があります。 さらにインターフェイスは、望んだ結果を得るために必要なコードをできるだけ少なくするように単純化されています。使用するプログラムやフレームワークにもよりますが、PySimpleGUIでのプログラムはフレームワークのいずれかを直接使用して同じウィンドウを作成するよりも、コードの量は1/2から1/10程度になる場合があります。

View File

@ -1850,6 +1850,43 @@ GitHub Issues GUI
* Moved theme tests into a tab" in sg.main * Moved theme tests into a tab" in sg.main
## 4.40.0 PySimpleGUI 25-Apr-2021
The "A4 Release" (440 Hz)
Buttons get a boost
Fix for Graph Dragging caused by last release
Gray Gray Gray should you wish to go colorless
* Right-click Menu constant - MENU_RIGHT_CLICK_EXIT - Has only "Exit"
* Constant = ['', ['Exit']]
* Checkbox.get() now returns a bool instead of int
* Button colors
* mouseover_colors - new parm to Button. Sets the color when mouse moves over the button
* When a TK Button this is Only visible on Linux systems when mouse is over button
* On Windows, these colors appear when the button is clicked
* Default is to swap the button's normal colors (text = background, background = text)
* Close Window Only button type changed to work on all windows, not just non-blocking ones
* ColorChooserButton - target now matches other choosers (target=(ThisRow, -1))
* TabGroup - new size parm that will set size in either or both directions
* Fix for TCL error when scrolling a column
* Themes
* Fix for COLOR_SYSTEM_DEFAULT error when choosing "default1" Theme
* New Theme - "Gray Gray Gray" - sets no colors. The window will likely be some shades of gray
* Changed error messages to use "theme" instead of the old "change_look_and_feel"
*
* Debug window - problems was if set the erase_all parm and Debug window is then closed
* timer_start, timer_stop - stop now returns the milliseconds elapsed instead of printing them
* popup_menu - now uses the passed in title if provided
* GitHub Issues GUI
* Made necessary changes to be 3.4 compatible. You can post Issues directly from your Pi running 3.4
* Changed layout so that the window is smaller
* New Help window uses tabs to make smaller
* Fix for extend_layout when adding to a scrollable column
* Added back functions accidently lost during a PEP8 rework
* added back popup_annoying, popup_no_border, popup_no_frame, popup_no_wait, popup_timed, sgprint, sgprint_close
## Upcoming ## Upcoming
The future for PySimpleGUI looks bright! The future for PySimpleGUI looks bright!

View File

@ -44,6 +44,7 @@ Button(button_text = "",
button_color = None, button_color = None,
disabled_button_color = None, disabled_button_color = None,
highlight_colors = None, highlight_colors = None,
mouseover_colors = (None, None),
use_ttk_buttons = None, use_ttk_buttons = None,
font = None, font = None,
bind_return_key = False, bind_return_key = False,
@ -79,8 +80,9 @@ Parameter Descriptions:
| (int, int) or (None, None) | s | Same as size parameter. It's an alias. If EITHER of them are set, then the one that's set will be used. If BOTH are set, size will be used | | (int, int) or (None, None) | s | Same as size parameter. It's an alias. If EITHER of them are set, then the one that's set will be used. If BOTH are set, size will be used |
| bool | auto_size_button | if True the button size is sized to fit the text | | bool | auto_size_button | if True the button size is sized to fit the text |
| Tuple[str, str] or str or Tuple[int, int] or None | button_color | Color of button. default is from theme or the window. Easy to remember which is which if you say "ON" between colors. "red" on "green". Normally a tuple, but can be a simplified-button-color-string "foreground on background". Can be a single color if want to set only the background. | | Tuple[str, str] or str or Tuple[int, int] or None | button_color | Color of button. default is from theme or the window. Easy to remember which is which if you say "ON" between colors. "red" on "green". Normally a tuple, but can be a simplified-button-color-string "foreground on background". Can be a single color if want to set only the background. |
| Tuple[str, str] | disabled_button_color | colors to use when button is disabled (text, background). Use None for a color if don't want to change. Only ttk buttons support both text and background colors. tk buttons only support changing text color | | Tuple[str, str] or str | disabled_button_color | colors to use when button is disabled (text, background). Use None for a color if don't want to change. Only ttk buttons support both text and background colors. tk buttons only support changing text color |
| Tuple[str, str] | highlight_colors | colors to use when button has focus (highlight, background). None will use computed colors. Only used by Linux and only for non-TTK button | | Tuple[str, str] | highlight_colors | colors to use when button has focus (has focus, does not have focus). None will use colors based on theme. Only used by Linux and only for non-TTK button |
| (str, str) or str | mouseover_colors | Important difference between Linux & Windows! Linux - Colors when mouse moved over button. Windows - colors when button is pressed. The default is to switch the text and background colors (an inverse effect) |
| bool | use_ttk_buttons | True = use ttk buttons. False = do not use ttk buttons. None (Default) = use ttk buttons only if on a Mac and not with button images | | bool | use_ttk_buttons | True = use ttk buttons. False = do not use ttk buttons. None (Default) = use ttk buttons only if on a Mac and not with button images |
| str or Tuple[str, int] | font | specifies the font family, size, etc | | str or Tuple[str, int] | font | specifies the font family, size, etc |
| bool | bind_return_key | If True the return key will cause this button to be pressed | | bool | bind_return_key | If True the return key will cause this button to be pressed |
@ -196,6 +198,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -559,6 +562,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -856,6 +860,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -1144,6 +1149,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -1493,6 +1499,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -1833,6 +1840,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -2195,6 +2203,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -2717,7 +2726,7 @@ Parameter Descriptions:
|Type|Name|Meaning| |Type|Name|Meaning|
|--|--|--| |--|--|--|
| str | text | text to display | | Any | text | text to display |
| Tuple[int, int] or Tuple[float, float] | location | location to place first letter | | Tuple[int, int] or Tuple[float, float] | location | location to place first letter |
| str | color | text color | | str | color | text color |
| str or Tuple[str, int] | font | specifies the font family, size, etc | | str or Tuple[str, int] | font | specifies the font family, size, etc |
@ -2881,6 +2890,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -3223,7 +3233,7 @@ Parameter Descriptions:
|Type|Name|Meaning| |Type|Name|Meaning|
|--|--|--| |--|--|--|
| str | text | text to display | | Any | text | text to display |
| Tuple[int, int] or Tuple[float, float] | location | location to place first letter | | Tuple[int, int] or Tuple[float, float] | location | location to place first letter |
| str | color | text color | | str | color | text color |
| str or Tuple[str, int] | font | specifies the font family, size, etc | | str or Tuple[str, int] | font | specifies the font family, size, etc |
@ -3480,6 +3490,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -3728,6 +3739,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -4102,6 +4114,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -4482,6 +4495,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -4853,6 +4867,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -5255,6 +5270,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -5600,6 +5616,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -5905,6 +5922,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -6229,6 +6247,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -6490,6 +6509,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -6841,6 +6861,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -7179,6 +7200,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -7489,6 +7511,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -7809,6 +7832,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -8142,6 +8166,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -8359,6 +8384,8 @@ TabGroup(layout,
theme = None, theme = None,
key = None, key = None,
k = None, k = None,
size = (None, None),
s = (None, None),
tooltip = None, tooltip = None,
visible = True, visible = True,
metadata = None) metadata = None)
@ -8383,6 +8410,8 @@ Parameter Descriptions:
| enum | theme | DEPRICATED - You can only specify themes using set options or when window is created. It's not possible to do it on an element basis | | enum | theme | DEPRICATED - You can only specify themes using set options or when window is created. It's not possible to do it on an element basis |
| str or int or tuple or object | key | Value that uniquely identifies this element from all other elements. Used when Finding an element or in return values. Must be unique to the window | | str or int or tuple or object | key | Value that uniquely identifies this element from all other elements. Used when Finding an element or in return values. Must be unique to the window |
| str or int or tuple or object | k | Same as the Key. You can use either k or key. Which ever is set will be used. | | str or int or tuple or object | k | Same as the Key. You can use either k or key. Which ever is set will be used. |
| (intorNone, intorNone) | size | (width, height) w=pixels-wide, h=pixels-high. Either item in tuple can be None to indicate use the computed value and set only 1 direction |
| (intorNone, intorNone) | s | Same as size parameter. It's an alias. If EITHER of them are set, then the one that's set will be used. If BOTH are set, size will be used |
| str | tooltip | text, that will appear when mouse hovers over the element | | str | tooltip | text, that will appear when mouse hovers over the element |
| bool | visible | set visibility state of the element | | bool | visible | set visibility state of the element |
| Any | metadata | User metadata that can be set to ANYTHING | | Any | metadata | User metadata that can be set to ANYTHING |
@ -8500,6 +8529,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -8843,6 +8873,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -9158,6 +9189,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -9556,6 +9588,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -9904,6 +9937,7 @@ Metadata is an Element property that you can use at any time to hold any value
Sets the cursor for the current Element. Sets the cursor for the current Element.
"Cursor" is used in 2 different ways in this call. "Cursor" is used in 2 different ways in this call.
For the parameter "cursor" it's actually the mouse pointer. For the parameter "cursor" it's actually the mouse pointer.
If you do not want any mouse pointer, then use the string "none"
For the parameter "cursor_color" it's the color of the beam used when typing into an input element For the parameter "cursor_color" it's the color of the beam used when typing into an input element
``` ```
@ -10831,6 +10865,7 @@ Parameter Descriptions:
### set_cursor ### set_cursor
Sets the cursor for the window. Sets the cursor for the window.
If you do not want any mouse pointer, then use the string "none"
``` ```
set_cursor(cursor) set_cursor(cursor)
@ -11738,8 +11773,8 @@ Parameter Descriptions:
|Type|Name|Meaning| |Type|Name|Meaning|
|--|--|--| |--|--|--|
| int | timeout | Time in milliseconds to delay before a returning a timeout event | | int | timeout | Time in milliseconds to delay before a returning a timeout event |
| Any | ti```meout_key | Key to return when a timeout happens. Defaults to the standard TIMEOUT_KEY | | Any | timeout_key | Key to return when a timeout happens. Defaults to the standard TIMEOUT_KEY |
| Tuple[Window, Any, (Dict or List)] | **RETURN** | A tuple with the (Window, event, values dictionary/list) | Tuple[Window, Any, (Dict or List)] | **RETURN** | A tuple with the (Window, event, values dictionary/list)
## Button Related ## Button Related
@ -11853,7 +11888,7 @@ Parameter Descriptions:
``` ```
ColorChooserButton(button_text, ColorChooserButton(button_text,
target = (None, None), target = (555666777, -1),
image_filename = None, image_filename = None,
image_data = None, image_data = None,
image_size = (None, None), image_size = (None, None),
@ -12946,6 +12981,62 @@ colors -(str, str) or str. A combined text/background color definition in a sin
c - Tuple[str, str] - Colors tuple has format (foreground, backgrouned) c - Tuple[str, str] - Colors tuple has format (foreground, backgrouned)
c - str - can also be a string of the format "foreground on background" ("white on red") c - str - can also be a string of the format "foreground on background" ("white on red")
```
sgprint(args=*<1 or N object>,
size = (None, None),
end = None,
sep = None,
location = (None, None),
font = None,
no_titlebar = False,
no_button = False,
grab_anywhere = False,
keep_on_top = False,
do_not_reroute_stdout = True,
text_color = None,
background_color = None,
colors = None,
c = None,
erase_all = False)
```
Parameter Descriptions:
|Type|Name|Meaning|
|--|--|--|
| Any | *args | stuff to output |
| (int, int) | size | (w,h) w=characters-wide, h=rows-high |
| str | end | end character |
| str | sep | separator character |
| Tuple[int, int] | location | Location of upper left corner of the window |
| str or Tuple[str, int] | font | specifies the font family, size, etc |
| bool | no_titlebar | If True no titlebar will be shown |
| bool | no_button | don't show button |
| bool | grab_anywhere | If True: can grab anywhere to move the window (Default = False) |
| str | background_color | color of background |
| str | text_color | color of the text |
| bool | keep_on_top | If True the window will remain above all current windows |
| Tuple[int, int] | location | Location of upper left corner of the window |
| bool | do_not_reroute_stdout | do not reroute stdout |
| str) or Tuple[str, str] | colors | Either a tuple or a string that has both the text and background colors |
| str) or Tuple[str, str] | c | Either a tuple or a string that has both the text and background colors |
| bool | erase_all | If True when erase the output before printing |
Close a previously opened EasyPrint window
```
sgprint_close()
```
Works like a "print" statement but with windowing options. Routes output to the "Debug Window"
In addition to the normal text and background colors, you can use a "colors" tuple/string
The "colors" or "c" parameter defines both the text and background in a single parm.
It can be a tuple or a single single. Both text and background colors need to be specified
colors -(str, str) or str. A combined text/background color definition in a single parameter
c - Tuple[str, str] - Colors tuple has format (foreground, backgrouned)
c - str - can also be a string of the format "foreground on background" ("white on red")
``` ```
EasyPrint(args=*<1 or N object>, EasyPrint(args=*<1 or N object>,
size = (None, None), size = (None, None),

View File

@ -1567,6 +1567,52 @@ If `non_blocking` parameter is set, then the call will not blocking waiting for
### Non-Blocking Popups - popup_no_wait and the non_blocking parameter ### Non-Blocking Popups - popup_no_wait and the non_blocking parameter
Show Popup window and immediately return (does not block)
```
popup_no_wait(args=*<1 or N object>,
title = None,
button_type = 0,
button_color = None,
background_color = None,
text_color = None,
auto_close = False,
auto_close_duration = None,
non_blocking = True,
icon = None,
line_width = None,
font = None,
no_titlebar = False,
grab_anywhere = False,
keep_on_top = False,
location = (None, None),
image = None,
modal = False)
```
Parameter Descriptions:
|Type|Name|Meaning|
|--|--|--|
| Any | *args | Variable number of items to display |
| str | title | Title to display in the window. |
| int | button_type | Determines which pre-defined buttons will be shown (Default value = POPUP_BUTTONS_OK). |
| Tuple[str, str] or str | button_color | button color (foreground, background) |
| str | background_color | color of background |
| str | text_color | color of the text |
| bool | auto_close | if True window will close itself |
| int or float | auto_close_duration | Older versions only accept int. Time in seconds until window will close |
| bool | non_blocking | if True the call will immediately return rather than waiting on user input |
| bytes or str | icon | filename or base64 string to be used for the window's icon |
| int | line_width | Width of lines in characters |
| str or Tuple[str, int] | font | specifies the font family, size, etc |
| bool | no_titlebar | If True no titlebar will be shown |
| bool | grab_anywhere | If True: can grab anywhere to move the window (Default = False) |
| Tuple[int, int] | location | Location of upper left corner of the window |
| str or bytes | image | Image to include at the top of the popup window |
| bool | modal | If True then makes the popup will behave like a Modal window... all other windows are non-operational until this one is closed. Default = False |
| str or None | **RETURN** | Reason for popup closing
The `popup` call `popup_no_wait` or `popup_non_blocking` will create a popup window and then immediately return control back to you. You can turn other popup calls into non-blocking popups if they have a `non_blocking` parameter. Setting `non_blocking` to True will cause the function to return immediately rather than waiting for the window to be closed. The `popup` call `popup_no_wait` or `popup_non_blocking` will create a popup window and then immediately return control back to you. You can turn other popup calls into non-blocking popups if they have a `non_blocking` parameter. Setting `non_blocking` to True will cause the function to return immediately rather than waiting for the window to be closed.
This function is very handy for when you're **debugging** and want to display something as output but don't want to change the programs's overall timing by blocking. Think of it like a `print` statement. There are no return values on one of these Popups. This function is very handy for when you're **debugging** and want to display something as output but don't want to change the programs's overall timing by blocking. Think of it like a `print` statement. There are no return values on one of these Popups.
@ -8598,6 +8644,41 @@ GitHub Issues GUI
* Added more symbols for buttons - double L/R & arrowheads, * Added more symbols for buttons - double L/R & arrowheads,
* Moved theme tests into a tab" in sg.main * Moved theme tests into a tab" in sg.main
## 4.40.0 PySimpleGUI 25-Apr-2021
The "A4 Release" (440 Hz)
Buttons get a boost
Fix for Graph Dragging caused by last release
Gray Gray Gray should you wish to go colorless
* Right-click Menu constant - MENU_RIGHT_CLICK_EXIT - Has only "Exit"
* Constant = ['', ['Exit']]
* Checkbox.get() now returns a bool instead of int
* Button colors
* mouseover_colors - new parm to Button. Sets the color when mouse moves over the button
* When a TK Button this is Only visible on Linux systems when mouse is over button
* On Windows, these colors appear when the button is clicked
* Default is to swap the button's normal colors (text = background, background = text)
* Close Window Only button type changed to work on all windows, not just non-blocking ones
* ColorChooserButton - target now matches other choosers (target=(ThisRow, -1))
* TabGroup - new size parm that will set size in either or both directions
* Fix for TCL error when scrolling a column
* Themes
* Fix for COLOR_SYSTEM_DEFAULT error when choosing "default1" Theme
* New Theme - "Gray Gray Gray" - sets no colors. The window will likely be some shades of gray
* Changed error messages to use "theme" instead of the old "change_look_and_feel"
*
* Debug window - problems was if set the erase_all parm and Debug window is then closed
* timer_start, timer_stop - stop now returns the milliseconds elapsed instead of printing them
* popup_menu - now uses the passed in title if provided
* GitHub Issues GUI
* Made necessary changes to be 3.4 compatible. You can post Issues directly from your Pi running 3.4
* Changed layout so that the window is smaller
* New Help window uses tabs to make smaller
* Fix for extend_layout when adding to a scrollable column
* Added back functions accidently lost during a PEP8 rework
* added back popup_annoying, popup_no_border, popup_no_frame, popup_no_wait, popup_timed, sgprint, sgprint_close
## Upcoming ## Upcoming
The future for PySimpleGUI looks bright! The future for PySimpleGUI looks bright!