Merge pull request #2910 from PySimpleGUI/Dev-latest

Dev latest
This commit is contained in:
PySimpleGUI 2020-05-19 20:05:12 -04:00 committed by GitHub
commit 71ddeaebc6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 101 additions and 64 deletions

View File

@ -1,6 +1,6 @@
#!/usr/bin/python3
version = __version__ = "4.19.0.6 Unreleased - Window.set_title added, removed resetting stdout when flush happens, fixed MenuBar tearoff not working, fixed get folder for Macs, fixed multiline color problem, option to set tooltip font"
version = __version__ = "4.19.0.7 Unreleased - Window.set_title added, removed resetting stdout when flush happens, fixed MenuBar tearoff not working, fixed get folder for Macs, fixed multiline color problem, option to set tooltip font, make typing module import optional"
port = 'PySimpleGUI'
@ -121,7 +121,10 @@ import calendar
import datetime
import textwrap
import inspect
from typing import List, Any, Union, Tuple, Dict # because this code has to run on 2.7 can't use real type hints. Must do typing only in comments
try: # Because Raspberry Pi is still on 3.4....it's not critical if this module isn't imported on the Pi
from typing import List, Any, Union, Tuple, Dict # because this code has to run on 2.7 can't use real type hints. Must do typing only in comments
except:
print('*** Skipping import of Typing module. "pip3 install typing" to remove this warning ***')
from random import randint
import warnings
from math import floor

View File

@ -9546,6 +9546,7 @@ SetOptions(icon=None,
window_location=(None, None),
error_button_color=(None, None),
tooltip_time=None,
tooltip_font=None,
use_ttk_buttons=None,
ttk_theme=None)
```
@ -9554,35 +9555,36 @@ Parameter Descriptions:
|Type|Name|Meaning|
|--|--|--|
| Union[bytes, str] | icon | filename or base64 string to be used for the window's icon |
| Tuple[str, str] | button_color | Color of the button (text, background) |
| Tuple[int, int] | element_size | element size (width, height) in characters |
| Tuple[int, int] | button_element_size | Size of button |
| Tuple[int, int] | margins | (left/right, top/bottom) tkinter margins around outsize. Amount of pixels to leave inside the window's frame around the edges before your elements are shown. |
| Tuple[int, int] or ((int, int),(int,int)) | element_padding | Default amount of padding to put around elements in window (left/right, top/bottom) or ((left, right), (top, bottom)) |
| bool | auto_size_text | True if the Widget should be shrunk to exactly fit the number of chars to show |
| bool | auto_size_buttons | True if Buttons in this Window should be sized to exactly fit the text on this. |
| Union[str, Tuple[str, int]] | font | specifies the font family, size, etc |
| int | border_width | width of border around element |
| ??? | slider_border_width | ??? |
| ??? | slider_relief | ??? |
| ??? | slider_orientation | ??? |
| ??? | autoclose_time | ??? |
| ??? | message_box_line_width | ??? |
| ??? | progress_meter_border_depth | ??? |
| --- | progress_meter_style | You can no longer set a progress bar style. All ttk styles must be the same for the window |
| str | progress_meter_relief | :param progress_meter_color: :param progress_meter_size: :param text_justification: Union ['left', 'right', 'center'] Default text justification for all Text Elements in window |
| str | background_color | color of background |
| str | element_background_color | element background color |
| str | text_element_background_color | text element background color |
| str | input_elements_background_color | :param input_text_color: :param scrollbar_color: :param text_color: color of the text |
| ??? | element_text_color | ??? |
| Tuple[int, int] | debug_win_size | (Default = (None)) |
| ??? | window_location | (Default = (None)) |
| ??? | error_button_color | (Default = (None)) |
| int | tooltip_time | time in milliseconds to wait before showing a tooltip. Default is 400ms |
| bool | use_ttk_buttons | if True will cause all buttons to be ttk buttons |
| str | ttk_theme | (str) Theme to use with ttk widgets. Choices (on Windows) include - 'default', 'winnative', 'clam', 'alt', 'classic', 'vista', 'xpnative' |
| Union[bytes, str] | icon | filename or base64 string to be used for the window's icon |
| Tuple[str, str] | button_color | Color of the button (text, background) |
| Tuple[int, int] | element_size | element size (width, height) in characters |
| Tuple[int, int] | button_element_size | Size of button |
| Tuple[int, int] | margins | (left/right, top/bottom) tkinter margins around outsize. Amount of pixels to leave inside the window's frame around the edges before your elements are shown. |
| Tuple[int, int] or ((int, int),(int,int)) | element_padding | Default amount of padding to put around elements in window (left/right, top/bottom) or ((left, right), (top, bottom)) |
| bool | auto_size_text | True if the Widget should be shrunk to exactly fit the number of chars to show |
| bool | auto_size_buttons | True if Buttons in this Window should be sized to exactly fit the text on this. |
| Union[str, Tuple[str, int]] | font | specifies the font family, size, etc |
| int | border_width | width of border around element |
| ??? | slider_border_width | ??? |
| ??? | slider_relief | ??? |
| ??? | slider_orientation | ??? |
| ??? | autoclose_time | ??? |
| ??? | message_box_line_width | ??? |
| ??? | progress_meter_border_depth | ??? |
| --- | progress_meter_style | You can no longer set a progress bar style. All ttk styles must be the same for the window |
| str | progress_meter_relief | :param progress_meter_color: :param progress_meter_size: :param text_justification: Union ['left', 'right', 'center'] Default text justification for all Text Elements in window |
| str | background_color | color of background |
| str | element_background_color | element background color |
| str | text_element_background_color | text element background color |
| str | input_elements_background_color | :param input_text_color: :param scrollbar_color: :param text_color: color of the text |
| ??? | element_text_color | ??? |
| Tuple[int, int] | debug_win_size | (Default = (None)) |
| ??? | window_location | (Default = (None)) |
| ??? | error_button_color | (Default = (None)) |
| int | tooltip_time | time in milliseconds to wait before showing a tooltip. Default is 400ms |
| str or Tuple[str, int] or Tuple[str, int, str] | tooltip_font | font to use for all tooltips |
| bool | use_ttk_buttons | if True will cause all buttons to be ttk buttons |
| str | ttk_theme | (str) Theme to use with ttk widgets. Choices (on Windows) include - 'default', 'winnative', 'clam', 'alt', 'classic', 'vista', 'xpnative' |
```
Submit(button_text="Submit",
@ -11889,6 +11891,7 @@ set_options(icon=None,
window_location=(None, None),
error_button_color=(None, None),
tooltip_time=None,
tooltip_font=None,
use_ttk_buttons=None,
ttk_theme=None)
```
@ -11897,35 +11900,36 @@ Parameter Descriptions:
|Type|Name|Meaning|
|--|--|--|
| Union[bytes, str] | icon | filename or base64 string to be used for the window's icon |
| Tuple[str, str] | button_color | Color of the button (text, background) |
| Tuple[int, int] | element_size | element size (width, height) in characters |
| Tuple[int, int] | button_element_size | Size of button |
| Tuple[int, int] | margins | (left/right, top/bottom) tkinter margins around outsize. Amount of pixels to leave inside the window's frame around the edges before your elements are shown. |
| Tuple[int, int] or ((int, int),(int,int)) | element_padding | Default amount of padding to put around elements in window (left/right, top/bottom) or ((left, right), (top, bottom)) |
| bool | auto_size_text | True if the Widget should be shrunk to exactly fit the number of chars to show |
| bool | auto_size_buttons | True if Buttons in this Window should be sized to exactly fit the text on this. |
| Union[str, Tuple[str, int]] | font | specifies the font family, size, etc |
| int | border_width | width of border around element |
| ??? | slider_border_width | ??? |
| ??? | slider_relief | ??? |
| ??? | slider_orientation | ??? |
| ??? | autoclose_time | ??? |
| ??? | message_box_line_width | ??? |
| ??? | progress_meter_border_depth | ??? |
| --- | progress_meter_style | You can no longer set a progress bar style. All ttk styles must be the same for the window |
| str | progress_meter_relief | :param progress_meter_color: :param progress_meter_size: :param text_justification: Union ['left', 'right', 'center'] Default text justification for all Text Elements in window |
| str | background_color | color of background |
| str | element_background_color | element background color |
| str | text_element_background_color | text element background color |
| str | input_elements_background_color | :param input_text_color: :param scrollbar_color: :param text_color: color of the text |
| ??? | element_text_color | ??? |
| Tuple[int, int] | debug_win_size | (Default = (None)) |
| ??? | window_location | (Default = (None)) |
| ??? | error_button_color | (Default = (None)) |
| int | tooltip_time | time in milliseconds to wait before showing a tooltip. Default is 400ms |
| bool | use_ttk_buttons | if True will cause all buttons to be ttk buttons |
| str | ttk_theme | (str) Theme to use with ttk widgets. Choices (on Windows) include - 'default', 'winnative', 'clam', 'alt', 'classic', 'vista', 'xpnative' |
| Union[bytes, str] | icon | filename or base64 string to be used for the window's icon |
| Tuple[str, str] | button_color | Color of the button (text, background) |
| Tuple[int, int] | element_size | element size (width, height) in characters |
| Tuple[int, int] | button_element_size | Size of button |
| Tuple[int, int] | margins | (left/right, top/bottom) tkinter margins around outsize. Amount of pixels to leave inside the window's frame around the edges before your elements are shown. |
| Tuple[int, int] or ((int, int),(int,int)) | element_padding | Default amount of padding to put around elements in window (left/right, top/bottom) or ((left, right), (top, bottom)) |
| bool | auto_size_text | True if the Widget should be shrunk to exactly fit the number of chars to show |
| bool | auto_size_buttons | True if Buttons in this Window should be sized to exactly fit the text on this. |
| Union[str, Tuple[str, int]] | font | specifies the font family, size, etc |
| int | border_width | width of border around element |
| ??? | slider_border_width | ??? |
| ??? | slider_relief | ??? |
| ??? | slider_orientation | ??? |
| ??? | autoclose_time | ??? |
| ??? | message_box_line_width | ??? |
| ??? | progress_meter_border_depth | ??? |
| --- | progress_meter_style | You can no longer set a progress bar style. All ttk styles must be the same for the window |
| str | progress_meter_relief | :param progress_meter_color: :param progress_meter_size: :param text_justification: Union ['left', 'right', 'center'] Default text justification for all Text Elements in window |
| str | background_color | color of background |
| str | element_background_color | element background color |
| str | text_element_background_color | text element background color |
| str | input_elements_background_color | :param input_text_color: :param scrollbar_color: :param text_color: color of the text |
| ??? | element_text_color | ??? |
| Tuple[int, int] | debug_win_size | (Default = (None)) |
| ??? | window_location | (Default = (None)) |
| ??? | error_button_color | (Default = (None)) |
| int | tooltip_time | time in milliseconds to wait before showing a tooltip. Default is 400ms |
| str or Tuple[str, int] or Tuple[str, int, str] | tooltip_font | font to use for all tooltips |
| bool | use_ttk_buttons | if True will cause all buttons to be ttk buttons |
| str | ttk_theme | (str) Theme to use with ttk widgets. Choices (on Windows) include - 'default', 'winnative', 'clam', 'alt', 'classic', 'vista', 'xpnative' |
Shows the smaller "popout" window. Default location is the upper right corner of your screen

View File

@ -21,6 +21,8 @@
## Python GUI For Humans - Transforms tkinter, Qt, Remi, WxPython into portable people-friendly Pythonic interfaces
## <span>The Call Reference Section Moved to <a href="https://pysimplegui.readthedocs.io/en/latest/call%20reference/">here</a></span>
### This manual is crammed full of answers so start your search for answers here. Read/Search this prior to opening an Issue on GitHub. Press Control F and type.
---
@ -135,6 +137,13 @@ and returns the value input as well as the button clicked.
[ReadTheDocs](http://www.PySimpleGUI.org) <------ THE best place to read the docs due to TOC, all docs in 1 place, and better formatting. START here in your education. Easy to remember PySimpleGUI.org.
[The Call Reference](http://calls.PySimpleGUI.org) documentation is located on the same ReadTheDocs page as the main documentation, but it's on another tab that you'll find across the top of the page.
The quick way to remember the documentation addresses is to use these addresses:
http://docs.PySimpleGUI.org
http://calls.PySimpleGUI.org
#### Quick Links To Help and The Latest News and Releases
[Homepage - Lastest Readme and Code - GitHub](http://www.PySimpleGUI.com) Easy to remember: PySimpleGUI.com
@ -155,7 +164,7 @@ and returns the value input as well as the button clicked.
[How to submit an Issue](https://github.com/PySimpleGUI/PySimpleGUI/issues/1646)
The YouTube videos - If you like instructional videos, there are over 15 videos made by PySimpleGUI project over the first 18 months.
[The YouTube videos](http://YouTube.PySimpleGUI.org) - If you like instructional videos, there are over 15 videos made by PySimpleGUI project over the first 18 months.
In 2020 a new series was begun. As of May 2020 there are 12 videos completed so far with many more to go....
- [PySimpleGUI 2020 - The most up to date information about PySimpleGUI](https://www.youtube.com/playlist?list=PLl8dD0doyrvFfzzniWS7FXrZefWWExJ2e)
- [5 part series of basics](https://www.youtube.com/playlist?list=PLl8dD0doyrvHMoJGTdMtgLuHymaqJVjzt)
@ -1100,6 +1109,12 @@ For python 3
More information about installing tkinter can be found here: https://www.techinfected.net/2015/09/how-to-install-and-use-tkinter-in-ubuntu-debian-linux-mint.html
### Installing typing module for Python 3.4 (Raspberry Pi)
In order for the docstrings to work correctly the `typing` module is used. In Python version 3.4 the typing module is not part of Python and must be installed separately. You'll see a warning printed on the console if this module isn't installed.
You can pip install `typing` just like PySimpleGUI. However it's not a requirement as PySimpleGUI will run fine without typing installed as it's only used by the docstrings.
### Installing for Python 2.7
**IMPORTANT** PySimpleGUI27 will disappear from the GitHub on Dec 31, 2019. PLEASE migrate to 3.6 at least. It's not painful for most people.
@ -1192,7 +1207,7 @@ You can also test by using the REPL....
>>> PySimpleGUI.main()
```
You will see a "test harness" that exercises the SDK, tells you the version number, allows you to try
You will see a "test harness" that exercises the SDK, tells you the version number, allows you to try a number of features as well as access the built-in GitHub upgrade utility.
### Finding Out Where Your PySimpleGUI Is Coming From

View File

@ -21,6 +21,8 @@
## Python GUI For Humans - Transforms tkinter, Qt, Remi, WxPython into portable people-friendly Pythonic interfaces
## <span>The Call Reference Section Moved to <a href="https://pysimplegui.readthedocs.io/en/latest/call%20reference/">here</a></span>
### This manual is crammed full of answers so start your search for answers here. Read/Search this prior to opening an Issue on GitHub. Press Control F and type.
---
@ -135,6 +137,13 @@ and returns the value input as well as the button clicked.
[ReadTheDocs](http://www.PySimpleGUI.org) <------ THE best place to read the docs due to TOC, all docs in 1 place, and better formatting. START here in your education. Easy to remember PySimpleGUI.org.
[The Call Reference](http://calls.PySimpleGUI.org) documentation is located on the same ReadTheDocs page as the main documentation, but it's on another tab that you'll find across the top of the page.
The quick way to remember the documentation addresses is to use these addresses:
http://docs.PySimpleGUI.org
http://calls.PySimpleGUI.org
#### Quick Links To Help and The Latest News and Releases
[Homepage - Lastest Readme and Code - GitHub](http://www.PySimpleGUI.com) Easy to remember: PySimpleGUI.com
@ -155,7 +164,7 @@ and returns the value input as well as the button clicked.
[How to submit an Issue](https://github.com/PySimpleGUI/PySimpleGUI/issues/1646)
The YouTube videos - If you like instructional videos, there are over 15 videos made by PySimpleGUI project over the first 18 months.
[The YouTube videos](http://YouTube.PySimpleGUI.org) - If you like instructional videos, there are over 15 videos made by PySimpleGUI project over the first 18 months.
In 2020 a new series was begun. As of May 2020 there are 12 videos completed so far with many more to go....
- [PySimpleGUI 2020 - The most up to date information about PySimpleGUI](https://www.youtube.com/playlist?list=PLl8dD0doyrvFfzzniWS7FXrZefWWExJ2e)
- [5 part series of basics](https://www.youtube.com/playlist?list=PLl8dD0doyrvHMoJGTdMtgLuHymaqJVjzt)
@ -1100,6 +1109,12 @@ For python 3
More information about installing tkinter can be found here: https://www.techinfected.net/2015/09/how-to-install-and-use-tkinter-in-ubuntu-debian-linux-mint.html
### Installing typing module for Python 3.4 (Raspberry Pi)
In order for the docstrings to work correctly the `typing` module is used. In Python version 3.4 the typing module is not part of Python and must be installed separately. You'll see a warning printed on the console if this module isn't installed.
You can pip install `typing` just like PySimpleGUI. However it's not a requirement as PySimpleGUI will run fine without typing installed as it's only used by the docstrings.
### Installing for Python 2.7
**IMPORTANT** PySimpleGUI27 will disappear from the GitHub on Dec 31, 2019. PLEASE migrate to 3.6 at least. It's not painful for most people.
@ -1192,7 +1207,7 @@ You can also test by using the REPL....
>>> PySimpleGUI.main()
```
You will see a "test harness" that exercises the SDK, tells you the version number, allows you to try
You will see a "test harness" that exercises the SDK, tells you the version number, allows you to try a number of features as well as access the built-in GitHub upgrade utility.
### Finding Out Where Your PySimpleGUI Is Coming From