Release 4.13.0

This commit is contained in:
PySimpleGUI 2019-12-18 22:19:00 -05:00
parent 73516abfb1
commit 577a492673
3 changed files with 423 additions and 85 deletions

View File

@ -1,6 +1,6 @@
#!/usr/bin/python3
version = __version__ = "4.12.0.5 Unreleased - Element.expand added expand_row parm, spin - defaults to first entry if none specified, use math.floor to convert in Graph element, Table & Tree header colors and font, Graph get figures and bounding box"
version = __version__ = "4.13.0 Released 18-Dec-2019"
port = 'PySimpleGUI'
@ -3079,6 +3079,8 @@ class Graph(Element):
if point == (None, None):
return
converted_point = self._convert_xy_to_canvas_xy(point[0], point[1])
size_converted = self._convert_xy_to_canvas_xy(point[0]+size, point[1])
size = size_converted[0]-converted_point[0]
if self._TKCanvas2 is None:
print('*** WARNING - The Graph element has not been finalized and cannot be drawn upon ***')
print('Call Window.Finalize() prior to this operation')
@ -3091,7 +3093,7 @@ class Graph(Element):
id = None
return id
def DrawCircle(self, center_location, radius, fill_color=None, line_color='black'):
def DrawCircle(self, center_location, radius, fill_color=None, line_color='black', line_width=1):
"""
Draws a circle, cenetered at the location provided. Can set the fill and outline colors
@ -3099,6 +3101,7 @@ class Graph(Element):
:param radius: Union[int, float] Radius in user's coordinate values.
:param fill_color: (str) color of the point to draw
:param line_color: (str) color of the outer line that goes around the circle (sorry, can't set thickness)
:param line_width: (int) width of the line around the circle, the outline, in pixels
:return: Union[int, None] id returned from tkinter that you'll need if you want to manipulate the circle
"""
if center_location == (None, None):
@ -3117,12 +3120,12 @@ class Graph(Element):
try: # needed in case the window was closed with an X
id = self._TKCanvas2.create_oval(int(converted_point[0]) - int(radius), int(converted_point[1]) - int(radius),
int(converted_point[0]) + int(radius), int(converted_point[1]) + int(radius), fill=fill_color,
outline=line_color)
outline=line_color, width=line_width)
except:
id = None
return id
def DrawOval(self, top_left, bottom_right, fill_color=None, line_color=None):
def DrawOval(self, top_left, bottom_right, fill_color=None, line_color=None, line_width=1):
"""
Draws an oval based on coordinates in user coordinate system. Provide the location of a "bounding rectangle"
@ -3130,6 +3133,7 @@ class Graph(Element):
:param bottom_right: Union[Tuple[int, int], Tuple[float, float]] the bottom right point of bounding rectangle
:param fill_color: (str) color of the interrior
:param line_color: (str) color of outline of oval
:param line_width: (int) width of the line around the oval, the outline, in pixels
:return: Union[int, None] id returned from tkinter that you'll need if you want to manipulate the oval
"""
converted_top_left = self._convert_xy_to_canvas_xy(top_left[0], top_left[1])
@ -3140,7 +3144,7 @@ class Graph(Element):
return None
try: # in case windows close with X
id = self._TKCanvas2.create_oval(converted_top_left[0], converted_top_left[1], converted_bottom_right[0],
converted_bottom_right[1], fill=fill_color, outline=line_color)
converted_bottom_right[1], fill=fill_color, outline=line_color, width=line_width )
except:
id = None
@ -4988,6 +4992,8 @@ class Tree(Element):
:param justification: (str) 'left', 'right', 'center' are valid choices
:param text_color: (str) color of the text
:param background_color: (str) color of background
:param header_text_color: (str) sets the text color for the header
:param header_background_color: (str) sets the background color for the header
:param header_font: Union[str, Tuple[str, int]] specifies the font family, size, etc
:param num_rows: (int) The number of rows of the table to display at a time
:param row_height: (int) height of a single row in pixels
@ -6230,14 +6236,6 @@ class Window:
except:
pass
self.TKrootDestroyed = True
# for row in self.Rows:
# for elem in row:
# try:
# # elem.Widget.__del__()
# del elem.Widget
# except Exception as e:
# print(f'Exception deleting {e}')
# self.TKroot.__del__()
del self.TKroot
del self.Rows

View File

@ -14,7 +14,7 @@
![Awesome Meter](https://img.shields.io/badge/Awesome_meter-100-yellow.svg)
![Python Version](https://img.shields.io/badge/Python-2.7_3.x-yellow.svg)
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_3.x_Version-4.12.0-red.svg?longCache=true&style=for-the-badge)
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_3.x_Version-4.13.0-red.svg?longCache=true&style=for-the-badge)
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_2.7_Version-2.4.1-blue.svg?longCache=true&style=for-the-badge)
![Python Version](https://img.shields.io/badge/PySimpleGUIQt_Version-0.30.0-orange.svg?longCache=true&style=for-the-badge)
@ -5588,7 +5588,9 @@ click()
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -5597,6 +5599,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -5860,7 +5863,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -5869,6 +5874,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -6067,7 +6073,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -6076,6 +6084,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -6302,7 +6311,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -6311,6 +6322,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -6555,7 +6567,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -6564,6 +6578,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -6826,7 +6841,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -6835,6 +6852,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -7082,7 +7100,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -7091,6 +7111,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -7317,7 +7338,8 @@ Draws a circle, cenetered at the location provided. Can set the fill and outlin
DrawCircle(center_location,
radius,
fill_color=None,
line_color="black")
line_color="black",
line_width=1)
```
Parameter Descriptions:
@ -7328,6 +7350,7 @@ Parameter Descriptions:
|radius|Union[int, float] Radius in user's coordinate values.|
|fill_color|(str) color of the point to draw|
|line_color|(str) color of the outer line that goes around the circle (sorry, can't set thickness)|
|line_width|(int) width of the line around the circle, the outline, in pixels|
|||
| **return** | Union[int, None] id returned from tkinter that you'll need if you want to manipulate the circle |
@ -7387,7 +7410,8 @@ Draws an oval based on coordinates in user coordinate system. Provide the locati
DrawOval(top_left,
bottom_right,
fill_color=None,
line_color=None)
line_color=None,
line_width=1)
```
Parameter Descriptions:
@ -7398,6 +7422,7 @@ Parameter Descriptions:
|bottom_right|Union[Tuple[int, int], Tuple[float, float]] the bottom right point of bounding rectangle|
|fill_color|(str) color of the interrior|
|line_color|(str) color of outline of oval|
|line_width|(int) width of the line around the oval, the outline, in pixels|
|||
| **return** | Union[int, None] id returned from tkinter that you'll need if you want to manipulate the oval |
@ -7478,19 +7503,37 @@ Erase the Graph - Removes all figures previously "drawn" using the Graph methods
Erase()
```
### MotionCallBack
### GetBoundingBox
Not a user callable method. Used to get Graph mouse motion events. Called by tkinter when mouse moved
Given a figure, returns the upper left and lower right bounding box coordinates
```
MotionCallBack(event)
GetBoundingBox(figure)
```
Parameter Descriptions:
|Name|Meaning|
|---|---|
|event|(event) event info from tkinter. Contains the x and y coordinates of a mouse|
|figure|a previously drawing figure|
|||
| **return** | Union[Tuple[int, int, int, int], Tuple[float, float, float, float]] (upper left x, upper left y, lower right x, lower right y |
### GetFiguresAtLocation
Returns a list of figures located at a particular x,y location within the Graph
```
GetFiguresAtLocation(location)
```
Parameter Descriptions:
|Name|Meaning|
|---|---|
|location|Union[Tuple[int, int], Tuple[float, float]] point to check|
|||
| **return** | List[int] a list of previously drawn "Figures" (returned from the drawing primitives) |
### Move
@ -7712,7 +7755,8 @@ Draws a circle, cenetered at the location provided. Can set the fill and outlin
draw_circle(center_location,
radius,
fill_color=None,
line_color="black")
line_color="black",
line_width=1)
```
Parameter Descriptions:
@ -7723,6 +7767,7 @@ Parameter Descriptions:
|radius|Union[int, float] Radius in user's coordinate values.|
|fill_color|(str) color of the point to draw|
|line_color|(str) color of the outer line that goes around the circle (sorry, can't set thickness)|
|line_width|(int) width of the line around the circle, the outline, in pixels|
|||
| **return** | Union[int, None] id returned from tkinter that you'll need if you want to manipulate the circle |
@ -7782,7 +7827,8 @@ Draws an oval based on coordinates in user coordinate system. Provide the locati
draw_oval(top_left,
bottom_right,
fill_color=None,
line_color=None)
line_color=None,
line_width=1)
```
Parameter Descriptions:
@ -7793,6 +7839,7 @@ Parameter Descriptions:
|bottom_right|Union[Tuple[int, int], Tuple[float, float]] the bottom right point of bounding rectangle|
|fill_color|(str) color of the interrior|
|line_color|(str) color of outline of oval|
|line_width|(int) width of the line around the oval, the outline, in pixels|
|||
| **return** | Union[int, None] id returned from tkinter that you'll need if you want to manipulate the oval |
@ -7878,7 +7925,9 @@ erase()
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -7887,6 +7936,39 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_bounding_box
Given a figure, returns the upper left and lower right bounding box coordinates
```
get_bounding_box(figure)
```
Parameter Descriptions:
|Name|Meaning|
|---|---|
|figure|a previously drawing figure|
|||
| **return** | Union[Tuple[int, int, int, int], Tuple[float, float, float, float]] (upper left x, upper left y, lower right x, lower right y |
### get_figures_at_location
Returns a list of figures located at a particular x,y location within the Graph
```
get_figures_at_location(location)
```
Parameter Descriptions:
|Name|Meaning|
|---|---|
|location|Union[Tuple[int, int], Tuple[float, float]] point to check|
|||
| **return** | List[int] a list of previously drawn "Figures" (returned from the drawing primitives) |
### get_size
@ -8193,7 +8275,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -8202,6 +8286,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -8475,7 +8560,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -8484,6 +8571,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -8777,7 +8865,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -8786,6 +8876,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_indexes
@ -9049,7 +9140,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -9058,6 +9151,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -9318,7 +9412,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -9327,6 +9423,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -9577,7 +9674,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -9586,6 +9685,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -10047,7 +10147,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -10056,6 +10158,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -10286,7 +10389,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -10295,6 +10400,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -10556,7 +10662,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -10565,6 +10673,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -10824,7 +10933,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -10833,6 +10944,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -11078,7 +11190,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -11087,6 +11201,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -11334,7 +11449,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -11343,6 +11460,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -11580,7 +11698,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -11589,6 +11709,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -11838,7 +11959,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -11847,6 +11970,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### find_key_from_tab_name
@ -11983,6 +12107,9 @@ Table(values,
text_color=None,
background_color=None,
alternating_row_color=None,
header_text_color=None,
header_background_color=None,
header_font=None,
row_colors=None,
vertical_scroll_only=True,
hide_vertical_scroll=False,
@ -12018,7 +12145,10 @@ Parameter Descriptions:
|text_color|(str) color of the text|
|background_color|(str) color of background|
|alternating_row_color|(str) if set then every other row will have this color in the background.|
|row_colors||
|header_text_color|(str) sets the text color for the header|
|header_background_color|(str) sets the background color for the header|
|header_font|Union[str, Tuple[str, int]] specifies the font family, size, etc|
|row_colors|List[Union[Tuple[int, str], Tuple[Int, str, str]] list of tuples of (row, background color) OR (row, foreground color, background color). Sets the colors of listed rows to the color(s) provided (note the optional foreground color)|
|vertical_scroll_only|(bool) if True only the vertical scrollbar will be visible|
|hide_vertical_scroll|(bool) if True vertical scrollbar will be hidden|
|size|Tuple[int, int] DO NOT USE! Use num_rows instead|
@ -12147,7 +12277,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -12156,6 +12288,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -12411,7 +12544,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -12420,6 +12555,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -12616,6 +12752,9 @@ Tree(data=None,
justification="right",
text_color=None,
background_color=None,
header_text_color=None,
header_background_color=None,
header_font=None,
num_rows=None,
row_height=None,
pad=None,
@ -12646,6 +12785,9 @@ Parameter Descriptions:
|justification|(str) 'left', 'right', 'center' are valid choices|
|text_color|(str) color of the text|
|background_color|(str) color of background|
|header_text_color|(str) sets the text color for the header|
|header_background_color|(str) sets the background color for the header|
|header_font|Union[str, Tuple[str, int]] specifies the font family, size, etc|
|num_rows|(int) The number of rows of the table to display at a time|
|row_height|(int) height of a single row in pixels|
|pad|(int, int) or ((int, int),(int,int)) Amount of padding to put around element (left/right, top/bottom) or ((left, right), (top, bottom))|
@ -12772,7 +12914,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -12781,6 +12925,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -13056,7 +13201,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -13065,6 +13212,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -19016,6 +19164,28 @@ Finally no more outlines around TK Elements on Linux
* Removed try block around setting button colors - if user sets a bad color, well don't do that
* Now deleting windows after closing them for popup
## 4.13.0 PySimpleGUI 18-Dec-2019
Table and Tree header colors, expanded Graph methods
* Element.expand new parameter - expand_row. If true then row will expand along with the widgets. Provides better resizing control
* Using math.floor now instead of an int cast in Graph Element's unit conversions
* Graph.draw_point - now using caller's graph units for specifying point size
* Graph.draw_circle - converted radius size from user's graph units.
* Graph.draw_circle - added line_width parameter
* Graph.draw_oval - added line_width parameter
* Graph.get_figures_at_location - new method for getting a list of figures at a particular point
* Graph.get_bounding_box - returns bounding box for a previously drawn figure
* Table and Tree Elements
* 3 new element creation parameters
* header_text_color - color of the text for the column headings
* header_background_color - color of the background of column headings
* header_font - font family, style , size for the column headings
* Defaults to using the current look and feel setting
* Uses similar algorithm as Tabs - Input Text background and text colors are used
* Spin element - fixed bug that showed "None" if default value is "None"
* Test Harness sets incorrect look and feel on purpose so a random one is chosen
### Upcoming
There will always be overlapping work as the ports will never actually be "complete" as there's always something new that can be built. However there's a definition for the base functionality for PySimpleGUI. This is what is being strived for with the currnt ports that are underway.

242
readme.md
View File

@ -14,7 +14,7 @@
![Awesome Meter](https://img.shields.io/badge/Awesome_meter-100-yellow.svg)
![Python Version](https://img.shields.io/badge/Python-2.7_3.x-yellow.svg)
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_3.x_Version-4.12.0-red.svg?longCache=true&style=for-the-badge)
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_3.x_Version-4.13.0-red.svg?longCache=true&style=for-the-badge)
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_2.7_Version-2.4.1-blue.svg?longCache=true&style=for-the-badge)
![Python Version](https://img.shields.io/badge/PySimpleGUIQt_Version-0.30.0-orange.svg?longCache=true&style=for-the-badge)
@ -5588,7 +5588,9 @@ click()
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -5597,6 +5599,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -5860,7 +5863,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -5869,6 +5874,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -6067,7 +6073,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -6076,6 +6084,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -6302,7 +6311,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -6311,6 +6322,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -6555,7 +6567,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -6564,6 +6578,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -6826,7 +6841,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -6835,6 +6852,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -7082,7 +7100,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -7091,6 +7111,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -7317,7 +7338,8 @@ Draws a circle, cenetered at the location provided. Can set the fill and outlin
DrawCircle(center_location,
radius,
fill_color=None,
line_color="black")
line_color="black",
line_width=1)
```
Parameter Descriptions:
@ -7328,6 +7350,7 @@ Parameter Descriptions:
|radius|Union[int, float] Radius in user's coordinate values.|
|fill_color|(str) color of the point to draw|
|line_color|(str) color of the outer line that goes around the circle (sorry, can't set thickness)|
|line_width|(int) width of the line around the circle, the outline, in pixels|
|||
| **return** | Union[int, None] id returned from tkinter that you'll need if you want to manipulate the circle |
@ -7387,7 +7410,8 @@ Draws an oval based on coordinates in user coordinate system. Provide the locati
DrawOval(top_left,
bottom_right,
fill_color=None,
line_color=None)
line_color=None,
line_width=1)
```
Parameter Descriptions:
@ -7398,6 +7422,7 @@ Parameter Descriptions:
|bottom_right|Union[Tuple[int, int], Tuple[float, float]] the bottom right point of bounding rectangle|
|fill_color|(str) color of the interrior|
|line_color|(str) color of outline of oval|
|line_width|(int) width of the line around the oval, the outline, in pixels|
|||
| **return** | Union[int, None] id returned from tkinter that you'll need if you want to manipulate the oval |
@ -7478,19 +7503,37 @@ Erase the Graph - Removes all figures previously "drawn" using the Graph methods
Erase()
```
### MotionCallBack
### GetBoundingBox
Not a user callable method. Used to get Graph mouse motion events. Called by tkinter when mouse moved
Given a figure, returns the upper left and lower right bounding box coordinates
```
MotionCallBack(event)
GetBoundingBox(figure)
```
Parameter Descriptions:
|Name|Meaning|
|---|---|
|event|(event) event info from tkinter. Contains the x and y coordinates of a mouse|
|figure|a previously drawing figure|
|||
| **return** | Union[Tuple[int, int, int, int], Tuple[float, float, float, float]] (upper left x, upper left y, lower right x, lower right y |
### GetFiguresAtLocation
Returns a list of figures located at a particular x,y location within the Graph
```
GetFiguresAtLocation(location)
```
Parameter Descriptions:
|Name|Meaning|
|---|---|
|location|Union[Tuple[int, int], Tuple[float, float]] point to check|
|||
| **return** | List[int] a list of previously drawn "Figures" (returned from the drawing primitives) |
### Move
@ -7712,7 +7755,8 @@ Draws a circle, cenetered at the location provided. Can set the fill and outlin
draw_circle(center_location,
radius,
fill_color=None,
line_color="black")
line_color="black",
line_width=1)
```
Parameter Descriptions:
@ -7723,6 +7767,7 @@ Parameter Descriptions:
|radius|Union[int, float] Radius in user's coordinate values.|
|fill_color|(str) color of the point to draw|
|line_color|(str) color of the outer line that goes around the circle (sorry, can't set thickness)|
|line_width|(int) width of the line around the circle, the outline, in pixels|
|||
| **return** | Union[int, None] id returned from tkinter that you'll need if you want to manipulate the circle |
@ -7782,7 +7827,8 @@ Draws an oval based on coordinates in user coordinate system. Provide the locati
draw_oval(top_left,
bottom_right,
fill_color=None,
line_color=None)
line_color=None,
line_width=1)
```
Parameter Descriptions:
@ -7793,6 +7839,7 @@ Parameter Descriptions:
|bottom_right|Union[Tuple[int, int], Tuple[float, float]] the bottom right point of bounding rectangle|
|fill_color|(str) color of the interrior|
|line_color|(str) color of outline of oval|
|line_width|(int) width of the line around the oval, the outline, in pixels|
|||
| **return** | Union[int, None] id returned from tkinter that you'll need if you want to manipulate the oval |
@ -7878,7 +7925,9 @@ erase()
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -7887,6 +7936,39 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_bounding_box
Given a figure, returns the upper left and lower right bounding box coordinates
```
get_bounding_box(figure)
```
Parameter Descriptions:
|Name|Meaning|
|---|---|
|figure|a previously drawing figure|
|||
| **return** | Union[Tuple[int, int, int, int], Tuple[float, float, float, float]] (upper left x, upper left y, lower right x, lower right y |
### get_figures_at_location
Returns a list of figures located at a particular x,y location within the Graph
```
get_figures_at_location(location)
```
Parameter Descriptions:
|Name|Meaning|
|---|---|
|location|Union[Tuple[int, int], Tuple[float, float]] point to check|
|||
| **return** | List[int] a list of previously drawn "Figures" (returned from the drawing primitives) |
### get_size
@ -8193,7 +8275,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -8202,6 +8286,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -8475,7 +8560,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -8484,6 +8571,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -8777,7 +8865,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -8786,6 +8876,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_indexes
@ -9049,7 +9140,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -9058,6 +9151,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -9318,7 +9412,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -9327,6 +9423,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -9577,7 +9674,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -9586,6 +9685,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -10047,7 +10147,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -10056,6 +10158,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -10286,7 +10389,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -10295,6 +10400,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -10556,7 +10662,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -10565,6 +10673,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -10824,7 +10933,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -10833,6 +10944,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -11078,7 +11190,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -11087,6 +11201,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -11334,7 +11449,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -11343,6 +11460,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -11580,7 +11698,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -11589,6 +11709,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -11838,7 +11959,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -11847,6 +11970,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### find_key_from_tab_name
@ -11983,6 +12107,9 @@ Table(values,
text_color=None,
background_color=None,
alternating_row_color=None,
header_text_color=None,
header_background_color=None,
header_font=None,
row_colors=None,
vertical_scroll_only=True,
hide_vertical_scroll=False,
@ -12018,7 +12145,10 @@ Parameter Descriptions:
|text_color|(str) color of the text|
|background_color|(str) color of background|
|alternating_row_color|(str) if set then every other row will have this color in the background.|
|row_colors||
|header_text_color|(str) sets the text color for the header|
|header_background_color|(str) sets the background color for the header|
|header_font|Union[str, Tuple[str, int]] specifies the font family, size, etc|
|row_colors|List[Union[Tuple[int, str], Tuple[Int, str, str]] list of tuples of (row, background color) OR (row, foreground color, background color). Sets the colors of listed rows to the color(s) provided (note the optional foreground color)|
|vertical_scroll_only|(bool) if True only the vertical scrollbar will be visible|
|hide_vertical_scroll|(bool) if True vertical scrollbar will be hidden|
|size|Tuple[int, int] DO NOT USE! Use num_rows instead|
@ -12147,7 +12277,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -12156,6 +12288,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get
@ -12411,7 +12544,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -12420,6 +12555,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -12616,6 +12752,9 @@ Tree(data=None,
justification="right",
text_color=None,
background_color=None,
header_text_color=None,
header_background_color=None,
header_font=None,
num_rows=None,
row_height=None,
pad=None,
@ -12646,6 +12785,9 @@ Parameter Descriptions:
|justification|(str) 'left', 'right', 'center' are valid choices|
|text_color|(str) color of the text|
|background_color|(str) color of background|
|header_text_color|(str) sets the text color for the header|
|header_background_color|(str) sets the background color for the header|
|header_font|Union[str, Tuple[str, int]] specifies the font family, size, etc|
|num_rows|(int) The number of rows of the table to display at a time|
|row_height|(int) height of a single row in pixels|
|pad|(int, int) or ((int, int),(int,int)) Amount of padding to put around element (left/right, top/bottom) or ((left, right), (top, bottom))|
@ -12772,7 +12914,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -12781,6 +12925,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -13056,7 +13201,9 @@ Parameter Descriptions:
Causes the Element to expand to fill available space in the X and Y directions. Can specify which or both directions
```
expand(expand_x=False, expand_y=False)
expand(expand_x=False,
expand_y=False,
expand_row=True)
```
Parameter Descriptions:
@ -13065,6 +13212,7 @@ Parameter Descriptions:
|---|---|
|expand_x|(Bool) If True Element will expand in the Horizontal directions|
|expand_y|(Bool) If True Element will expand in the Vertical directions|
|expand_row|(Bool) If True the row containing the element will also expand. Without this your element is "trapped" within the row|
### get_size
@ -19016,6 +19164,28 @@ Finally no more outlines around TK Elements on Linux
* Removed try block around setting button colors - if user sets a bad color, well don't do that
* Now deleting windows after closing them for popup
## 4.13.0 PySimpleGUI 18-Dec-2019
Table and Tree header colors, expanded Graph methods
* Element.expand new parameter - expand_row. If true then row will expand along with the widgets. Provides better resizing control
* Using math.floor now instead of an int cast in Graph Element's unit conversions
* Graph.draw_point - now using caller's graph units for specifying point size
* Graph.draw_circle - converted radius size from user's graph units.
* Graph.draw_circle - added line_width parameter
* Graph.draw_oval - added line_width parameter
* Graph.get_figures_at_location - new method for getting a list of figures at a particular point
* Graph.get_bounding_box - returns bounding box for a previously drawn figure
* Table and Tree Elements
* 3 new element creation parameters
* header_text_color - color of the text for the column headings
* header_background_color - color of the background of column headings
* header_font - font family, style , size for the column headings
* Defaults to using the current look and feel setting
* Uses similar algorithm as Tabs - Input Text background and text colors are used
* Spin element - fixed bug that showed "None" if default value is "None"
* Test Harness sets incorrect look and feel on purpose so a random one is chosen
### Upcoming
There will always be overlapping work as the ports will never actually be "complete" as there's always something new that can be built. However there's a definition for the base functionality for PySimpleGUI. This is what is being strived for with the currnt ports that are underway.