commit
c12f3b7af7
|
@ -7478,7 +7478,7 @@ def PopupGetFile(message, title=None, default_path='', default_extension='', sav
|
||||||
[InputText(default_text=default_path, size=size), browse_button],
|
[InputText(default_text=default_path, size=size), browse_button],
|
||||||
[CloseButton('Ok', size=(6, 1), bind_return_key=True), CloseButton('Cancel', size=(6, 1))]]
|
[CloseButton('Ok', size=(6, 1), bind_return_key=True), CloseButton('Cancel', size=(6, 1))]]
|
||||||
|
|
||||||
window = Window(title=title, icon=icon, auto_size_text=True, button_color=button_color, font=font,
|
window = Window(title=title or message, icon=icon, auto_size_text=True, button_color=button_color, font=font,
|
||||||
background_color=background_color,
|
background_color=background_color,
|
||||||
no_titlebar=no_titlebar, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top, location=location)
|
no_titlebar=no_titlebar, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top, location=location)
|
||||||
|
|
||||||
|
@ -7517,7 +7517,7 @@ def PopupGetText(message, title=None, default_text='', password_char='', size=(N
|
||||||
[InputText(default_text=default_text, size=size, password_char=password_char)],
|
[InputText(default_text=default_text, size=size, password_char=password_char)],
|
||||||
[CloseButton('Ok', size=(5, 1), bind_return_key=True), CloseButton('Cancel', size=(5, 1))]]
|
[CloseButton('Ok', size=(5, 1), bind_return_key=True), CloseButton('Cancel', size=(5, 1))]]
|
||||||
|
|
||||||
window = Window(title=title, icon=icon, auto_size_text=True, button_color=button_color, no_titlebar=no_titlebar,
|
window = Window(title=title or message, icon=icon, auto_size_text=True, button_color=button_color, no_titlebar=no_titlebar,
|
||||||
background_color=background_color, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top,
|
background_color=background_color, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top,
|
||||||
location=location)
|
location=location)
|
||||||
|
|
||||||
|
|
|
@ -546,7 +546,7 @@ class Element(object):
|
||||||
class InputText(Element):
|
class InputText(Element):
|
||||||
def __init__(self, default_text='', size=(None, None), disabled=False, password_char='',
|
def __init__(self, default_text='', size=(None, None), disabled=False, password_char='',
|
||||||
justification=None, background_color=None, text_color=None, font=None, tooltip=None,
|
justification=None, background_color=None, text_color=None, font=None, tooltip=None,
|
||||||
change_submits=False, enable_events=False, do_not_clear=False, key=None, focus=False, pad=None, right_click_menu=None, visible=True):
|
change_submits=False, enable_events=False, do_not_clear=True, key=None, focus=False, pad=None, right_click_menu=None, visible=True):
|
||||||
'''
|
'''
|
||||||
InputText
|
InputText
|
||||||
:param default_text:
|
:param default_text:
|
||||||
|
@ -1084,7 +1084,7 @@ class Spin(Element):
|
||||||
# ---------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------- #
|
||||||
class Multiline(Element):
|
class Multiline(Element):
|
||||||
def __init__(self, default_text='', enter_submits=False, disabled=False, autoscroll=False, size=(None, None),
|
def __init__(self, default_text='', enter_submits=False, disabled=False, autoscroll=False, size=(None, None),
|
||||||
auto_size_text=None, background_color=None, text_color=None, change_submits=False, enable_events=False,do_not_clear=False, key=None, focus=False, font=None, pad=None, tooltip=None, right_click_menu=None, visible=True):
|
auto_size_text=None, background_color=None, text_color=None, change_submits=False, enable_events=False,do_not_clear=True, key=None, focus=False, font=None, pad=None, tooltip=None, right_click_menu=None, visible=True):
|
||||||
'''
|
'''
|
||||||
Multiline
|
Multiline
|
||||||
:param default_text:
|
:param default_text:
|
||||||
|
@ -3492,7 +3492,7 @@ class ErrorElement(Element):
|
||||||
Stretch = ErrorElement
|
Stretch = ErrorElement
|
||||||
|
|
||||||
# ------------------------------------------------------------------------- #
|
# ------------------------------------------------------------------------- #
|
||||||
# Window CLASS #
|
# Window CLASS #
|
||||||
# ------------------------------------------------------------------------- #
|
# ------------------------------------------------------------------------- #
|
||||||
class Window(object):
|
class Window(object):
|
||||||
NumOpenWindows = 0
|
NumOpenWindows = 0
|
||||||
|
@ -4801,6 +4801,16 @@ else:
|
||||||
|
|
||||||
# My crappy tkinter code starts here
|
# My crappy tkinter code starts here
|
||||||
|
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
(
|
||||||
|
,
|
||||||
|
___)\
|
||||||
|
(_____)
|
||||||
|
(_______)
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
# ======================== TK CODE STARTS HERE ========================================= #
|
# ======================== TK CODE STARTS HERE ========================================= #
|
||||||
|
|
||||||
def PackFormIntoFrame(form, containing_frame, toplevel_form):
|
def PackFormIntoFrame(form, containing_frame, toplevel_form):
|
||||||
|
@ -7796,7 +7806,7 @@ def PopupGetFolder(message, title=None, default_path='', no_window=False, size=(
|
||||||
[InputText(default_text=default_path, size=size), FolderBrowse(initial_folder=initial_folder)],
|
[InputText(default_text=default_path, size=size), FolderBrowse(initial_folder=initial_folder)],
|
||||||
[CloseButton('Ok', size=(5, 1), bind_return_key=True), CloseButton('Cancel', size=(5, 1))]]
|
[CloseButton('Ok', size=(5, 1), bind_return_key=True), CloseButton('Cancel', size=(5, 1))]]
|
||||||
|
|
||||||
window = Window(title=title, icon=icon, auto_size_text=True, button_color=button_color,
|
window = Window(title=title or message, icon=icon, auto_size_text=True, button_color=button_color,
|
||||||
background_color=background_color,
|
background_color=background_color,
|
||||||
font=font, no_titlebar=no_titlebar, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top,
|
font=font, no_titlebar=no_titlebar, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top,
|
||||||
location=location)
|
location=location)
|
||||||
|
@ -7864,7 +7874,7 @@ def PopupGetFile(message, title=None, default_path='', default_extension='', sav
|
||||||
[InputText(default_text=default_path, size=size), browse_button],
|
[InputText(default_text=default_path, size=size), browse_button],
|
||||||
[CloseButton('Ok', size=(6, 1), bind_return_key=True), CloseButton('Cancel', size=(6, 1))]]
|
[CloseButton('Ok', size=(6, 1), bind_return_key=True), CloseButton('Cancel', size=(6, 1))]]
|
||||||
|
|
||||||
window = Window(title=title, icon=icon, auto_size_text=True, button_color=button_color, font=font,
|
window = Window(title=title or message, icon=icon, auto_size_text=True, button_color=button_color, font=font,
|
||||||
background_color=background_color,
|
background_color=background_color,
|
||||||
no_titlebar=no_titlebar, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top, location=location)
|
no_titlebar=no_titlebar, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top, location=location)
|
||||||
|
|
||||||
|
@ -7903,7 +7913,7 @@ def PopupGetText(message, title=None, default_text='', password_char='', size=(N
|
||||||
[InputText(default_text=default_text, size=size, password_char=password_char)],
|
[InputText(default_text=default_text, size=size, password_char=password_char)],
|
||||||
[CloseButton('Ok', size=(5, 1), bind_return_key=True), CloseButton('Cancel', size=(5, 1))]]
|
[CloseButton('Ok', size=(5, 1), bind_return_key=True), CloseButton('Cancel', size=(5, 1))]]
|
||||||
|
|
||||||
window = Window(title=title, icon=icon, auto_size_text=True, button_color=button_color, no_titlebar=no_titlebar,
|
window = Window(title=title or message, icon=icon, auto_size_text=True, button_color=button_color, no_titlebar=no_titlebar,
|
||||||
background_color=background_color, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top,
|
background_color=background_color, grab_anywhere=grab_anywhere, keep_on_top=keep_on_top,
|
||||||
location=location)
|
location=location)
|
||||||
|
|
||||||
|
@ -7926,7 +7936,10 @@ def PopupAnimated(image_source, message=None, background_color=None, text_color=
|
||||||
return
|
return
|
||||||
|
|
||||||
if image_source not in Window.animated_popup_dict:
|
if image_source not in Window.animated_popup_dict:
|
||||||
layout = [[Image(data=image_source, background_color=background_color, key='_IMAGE_',)],]
|
if type(image_source) is bytes:
|
||||||
|
layout = [[Image(data=image_source, background_color=background_color, key='_IMAGE_',)],]
|
||||||
|
else:
|
||||||
|
layout = [[Image(filename=image_source, background_color=background_color, key='_IMAGE_',)],]
|
||||||
if message:
|
if message:
|
||||||
layout.append([Text(message, background_color=background_color, text_color=text_color, font=font)])
|
layout.append([Text(message, background_color=background_color, text_color=text_color, font=font)])
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/Python-3.x-yellow.svg)
|
![Python Version](https://img.shields.io/badge/Python-3.x-yellow.svg)
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUIQt_For_Python_3.x_Version-00.23.0-orange.svg?longCache=true&style=for-the-badge)
|
![Python Version](https://img.shields.io/badge/PySimpleGUIQt_For_Python_3.x_Version-00.24.0-orange.svg?longCache=true&style=for-the-badge)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -650,6 +650,12 @@ Dial - disable
|
||||||
* main for PySimpleGUIQt.py gets a nice test harness that shows lots of Elements
|
* main for PySimpleGUIQt.py gets a nice test harness that shows lots of Elements
|
||||||
|
|
||||||
|
|
||||||
|
## 0.24.0 PySimpleGUIQt
|
||||||
|
|
||||||
|
* do_not_clear defaults to TRUE! for Input and MultilineInput/Output
|
||||||
|
* Key events for tables (unsure what's actually implemented)
|
||||||
|
* Tree icons can now be bytes in addition to filename! (More Base64 support)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Design
|
# Design
|
||||||
|
|
|
@ -2622,7 +2622,7 @@ class Window:
|
||||||
stdout_location = None
|
stdout_location = None
|
||||||
port_number = 6900
|
port_number = 6900
|
||||||
active_windows = [ ] # type: Window []
|
active_windows = [ ] # type: Window []
|
||||||
App = None
|
App = None # type: remi.App
|
||||||
|
|
||||||
def __init__(self, title, default_element_size=DEFAULT_ELEMENT_SIZE, default_button_element_size=(None, None),
|
def __init__(self, title, default_element_size=DEFAULT_ELEMENT_SIZE, default_button_element_size=(None, None),
|
||||||
auto_size_text=None, auto_size_buttons=None, location=(None, None), size=(None, None),
|
auto_size_text=None, auto_size_buttons=None, location=(None, None), size=(None, None),
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/Python-3.x-yellow.svg)
|
![Python Version](https://img.shields.io/badge/Python-3.x-yellow.svg)
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUIWeb_-0.18.0-orange.svg?longCache=true&style=for-the-badge)
|
![Python Version](https://img.shields.io/badge/PySimpleGUIWeb_-0.19.0-orange.svg?longCache=true&style=for-the-badge)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -269,6 +269,12 @@ New features
|
||||||
* Hotfix for bug that causes Popups / secondary windows to crash
|
* Hotfix for bug that causes Popups / secondary windows to crash
|
||||||
* Table gets `starting_row_num` parameter
|
* Table gets `starting_row_num` parameter
|
||||||
|
|
||||||
|
## 0.19.0 23-Mar-2019 PySimpleGUIWeb
|
||||||
|
|
||||||
|
* do_not_clear defaults to TRUE! for Input and Multiline Input/output
|
||||||
|
* a few type hints
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Design
|
# Design
|
||||||
|
|
32
readme.md
32
readme.md
|
@ -33,15 +33,15 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_3.x_Version-3.25.0-red.svg?longCache=true&style=for-the-badge)
|
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_3.x_Version-3.26.0-red.svg?longCache=true&style=for-the-badge)
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_2.7_Version-1.25.0-blue.svg?longCache=true&style=for-the-badge)
|
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_2.7_Version-1.26.0-blue.svg?longCache=true&style=for-the-badge)
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUIQt_Version-0.22.0-orange.svg?longCache=true&style=for-the-badge)
|
![Python Version](https://img.shields.io/badge/PySimpleGUIQt_Version-0.23.0-orange.svg?longCache=true&style=for-the-badge)
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUIWx_version-0.3.0-orange.svg?longCache=true&style=for-the-badge)
|
![Python Version](https://img.shields.io/badge/PySimpleGUIWx_version-0.9.0-orange.svg?longCache=true&style=for-the-badge)
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUIWeb_Version-0.10.0-orange.svg?longCache=true&style=for-the-badge)
|
![Python Version](https://img.shields.io/badge/PySimpleGUIWeb_Version-0.18.0-orange.svg?longCache=true&style=for-the-badge)
|
||||||
|
|
||||||
[Announcements of Latest Developments](https://github.com/MikeTheWatchGuy/PySimpleGUI/issues/142)
|
[Announcements of Latest Developments](https://github.com/MikeTheWatchGuy/PySimpleGUI/issues/142)
|
||||||
|
|
||||||
|
@ -4903,6 +4903,17 @@ Emergency patch release... going out same day as previous release
|
||||||
* OneLineProgressMeter - Can now change the text on every call if desired
|
* OneLineProgressMeter - Can now change the text on every call if desired
|
||||||
|
|
||||||
|
|
||||||
|
# 3.26.0 PySimpleGUI 23-Mar-2019
|
||||||
|
|
||||||
|
* do_not_clear now defaults to TRUE!!!
|
||||||
|
* Input Element
|
||||||
|
* Multiline Element
|
||||||
|
* Enable Radio Buttons to be in different containers
|
||||||
|
* Ability to modify Autoscroll setting in Multiline.Update call
|
||||||
|
* PopupGetFolder, PopupGetFile, PopupGetText - title defaults to message if none provided
|
||||||
|
* PopupAnimated - image_source can be a filename or bytes (base64)
|
||||||
|
|
||||||
|
|
||||||
### Upcoming
|
### Upcoming
|
||||||
Make suggestions people! Future release features
|
Make suggestions people! Future release features
|
||||||
|
|
||||||
|
@ -4966,9 +4977,10 @@ GNU Lesser General Public License (LGPL 3) +
|
||||||
|
|
||||||
#### SORRY!! Will add these back. Lost due to file length limitation
|
#### SORRY!! Will add these back. Lost due to file length limitation
|
||||||
<!--stackedit_data:
|
<!--stackedit_data:
|
||||||
eyJoaXN0b3J5IjpbNTE5MDU1OTQsMjA1MzEyNTE0OSwtMTU3OD
|
eyJoaXN0b3J5IjpbODY0OTc4NzY1LC0xMDY1OTc4MTI2LDUxOT
|
||||||
c0NjU4OCwyNjA1ODQ4MTQsMTEwMjA4ODMzMywxNjc5ODUwOTky
|
A1NTk0LDIwNTMxMjUxNDksLTE1Nzg3NDY1ODgsMjYwNTg0ODE0
|
||||||
LC0xNDYxNDI4MSwtNjA2MzcxMTgsLTUwOTM1OTEyMywtMjQ4OT
|
LDExMDIwODgzMzMsMTY3OTg1MDk5MiwtMTQ2MTQyODEsLTYwNj
|
||||||
c2MjksMTMwNzY5MjU5LC0yOTY3ODM1NSwtNzc0MDc0MjMwLDI2
|
M3MTE4LC01MDkzNTkxMjMsLTI0ODk3NjI5LDEzMDc2OTI1OSwt
|
||||||
NjM2NDQxNyw0NDk0MzMyNDMsLTExNDg0OTA2MjNdfQ==
|
Mjk2NzgzNTUsLTc3NDA3NDIzMCwyNjYzNjQ0MTcsNDQ5NDMzMj
|
||||||
|
QzLC0xMTQ4NDkwNjIzXX0=
|
||||||
-->
|
-->
|
Loading…
Reference in New Issue