commit
b00011a213
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
|
|
||||||
version = __version__ = "4.11.0.5 Unreleased - ability to set disabled colors for buttons (tk + ttk), popup no more closebutton use, browse cancel fix for linux, highlight thickness=0"
|
version = __version__ = "4.12.0 Released 14-Dec-2019"
|
||||||
|
|
||||||
port = 'PySimpleGUI'
|
port = 'PySimpleGUI'
|
||||||
|
|
||||||
|
@ -11188,7 +11188,7 @@ def Popup(*args, title=None, button_color=None, background_color=None, text_colo
|
||||||
button, values = window.Read(timeout=0)
|
button, values = window.Read(timeout=0)
|
||||||
else:
|
else:
|
||||||
button, values = window.Read()
|
button, values = window.Read()
|
||||||
window.close()
|
window.close(); del window
|
||||||
|
|
||||||
return button
|
return button
|
||||||
|
|
||||||
|
@ -11263,7 +11263,7 @@ def PopupScrolled(*args, title=None, button_color=None, background_color=None, t
|
||||||
button, values = window.Read(timeout=0)
|
button, values = window.Read(timeout=0)
|
||||||
else:
|
else:
|
||||||
button, values = window.Read()
|
button, values = window.Read()
|
||||||
window.close()
|
window.close(); del window
|
||||||
return button
|
return button
|
||||||
|
|
||||||
|
|
||||||
|
@ -11708,7 +11708,7 @@ def PopupGetFolder(message, title=None, default_path='', no_window=False, size=(
|
||||||
location=location)
|
location=location)
|
||||||
|
|
||||||
button, values = window.Read()
|
button, values = window.Read()
|
||||||
window.Close()
|
window.close(); del window
|
||||||
if button != 'Ok':
|
if button != 'Ok':
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
|
@ -11806,7 +11806,7 @@ def PopupGetFile(message, title=None, default_path='', default_extension='', sav
|
||||||
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)
|
||||||
|
|
||||||
button, values = window.Read()
|
button, values = window.Read()
|
||||||
window.Close()
|
window.close(); del window
|
||||||
if button != 'Ok':
|
if button != 'Ok':
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
|
@ -11849,7 +11849,7 @@ def PopupGetText(message, title=None, default_text='', password_char='', size=(N
|
||||||
location=location)
|
location=location)
|
||||||
|
|
||||||
button, values = window.Read()
|
button, values = window.Read()
|
||||||
window.Close()
|
window.close(); del window
|
||||||
if button != 'Ok':
|
if button != 'Ok':
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
|
@ -11905,7 +11905,7 @@ def PopupAnimated(image_source, message=None, background_color=None, text_color=
|
||||||
window = Window.animated_popup_dict[image_source]
|
window = Window.animated_popup_dict[image_source]
|
||||||
window.Element('_IMAGE_').UpdateAnimation(image_source, time_between_frames=time_between_frames)
|
window.Element('_IMAGE_').UpdateAnimation(image_source, time_between_frames=time_between_frames)
|
||||||
|
|
||||||
window.read(timeout=10) # call refresh instead of Read to save significant CPU time
|
window.refresh() # call refresh instead of Read to save significant CPU time
|
||||||
|
|
||||||
|
|
||||||
#####################################################################################################
|
#####################################################################################################
|
||||||
|
|
|
@ -0,0 +1,229 @@
|
||||||
|
import PySimpleGUI as sg
|
||||||
|
import random
|
||||||
|
|
||||||
|
'''
|
||||||
|
Source code of MineSweeper Game
|
||||||
|
'''
|
||||||
|
|
||||||
|
blank = b'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAA5SURBVEhL7c0xAQAgDMTABynVU7MohAUN6ZJbMmbV6ZsB+xfnGOMY4xjjGOMY4xjjGOMY4xgzNE4euGMCWklhg+IAAAAASUVORK5CYII='
|
||||||
|
bomb = b'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'
|
||||||
|
flag = b'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAE9ElEQVR4nL2WTWxUVRTHf+fe+147pbQKFChUipREKUYEEhAT2SgGNP0IpkkXsDCwIWHVdMWGuDEkRIwJC+OCEQkbiCB2ISQkiiHRlCIsnBqirZCWr1JqKRPBmXn3uJg37bR0qNHqP3nJzP363XPOPedeUVURESUvAbRlTf0zodWGocePrl3ovZeO+0KgAngAFMY7wDMhib9cUVsIZIr+o6pipkBpe7UuIWQuOOu/r51T/jbwprX2hDHmJ2NMyhhzVUQ+rK2tXeacyznnvHPOG2M8EMVQsda+IyKfAXOL1wcQERWKtB8MQOqVpTseRdH+c6mhPg9bmCJjDLlcbgT4CPgauAsEZWVlz2cymc0i0gysBUa89yuAsYKxxa4plgD6+Y6X5yS7b9258OtIZexKLbhRRDSKIr9x40bX3NxMTU0Nt2/f/iOZTAbXr18PrLWoKrH1t733rcCP8XxPCQnAx1tXlm1bvbi/PHQRIpExRo0xGgSBioju2bNH0+m0T6fT2YGBAe3v79f79+/rhg0bIhHJOuciY0wuntcRr21LQSfBW9bU/lBdESpIzsZg55wCOjw8rMlkUltbW3Xnzp26adMmr6r+0KFDCmgYhj6GPmCaGE+rtrb8zt5du+TUouqEgmRtkcXOOd27d6+mUim9ePGinjlzRs+fP68DAwPa0NCggDrn1BgTxd858id7EthMBQ8N5QeEVgYTgQF0fIr3nlwux+HDh+nu7iaRSBAEAXV1dTQ2NmKtpby8nCiKIB9PA3xDPp0mudqVstwZO5AIJsbGJ5nOzk6uXLlCT08Ply5dIp1OM2/ePFpaWjh27Bi7du3iyJEjOOckiiJUdR1P5vuTFhcUWBkod/luEYP3nvnz53Pw4EHOnj1LfX09XV1dnD59mqqqKjo7Ozl+/DgLFixAZMKrItJDnNtPtXjhwnyuOSe3yvJggyree6IoYvv27aRSKXbv3k1vby9jY2OMjo7S3NxMX18fxhhEhCiKBEBVXwc+AR7GcJ3W4saT+Y4glDuBNR7EeFUNgoDR0VGGh4e1o6NDV61axYEDB2hqauLo0aMkk0my2Szt7e1473HOeSASkc1ANUXFo5QEYP9bjfPeeHHhiLVGjTG5IAiyIuLb29u1r69P169fr7ELFdDq6mrdt2+fr6+vz4lIZK3VOKV6gFXxuiVDOw4+0dZmt7206JdEvogUFlFghHyJ1DAM1TmXC8MwS75SKaDGGBWRq8aY95g4zU/P41gGoHXNku+enVOmIL9ZkQ+cc69VVlYuAKorKirWicipwoastRqG4Ygx5gtrbQuTz8/fgo4XkdY1tV+9sHjup0BVqZnW2iZjzC5r7RZg4dTuUtBp87hQRECG1j9X/e21Ow/HltVTfuMGGSYOiQAaRVHXNDDI521UyrinBhv0VjqTWw3I8uXkmLiptOi3jQ0oWBcxEe+SmgHMoMUsmmGRwuU/I2xGcKGIqJhBRWuK22ZL08a4UEQM3CSf/Jw8WfoS/yea1uL3Y5f9mcncVaFs68qVZUy8Qv47cEF3E/fui6KJxKOa2QLOBFZALl8mq8LjyEWLAfb/Hxa3teX7BPndqCwF6G2bPXDJh8B4EVEdEqRuUtssaKY8BpFbQN1sAWcEj+etMojo1Br8r1XS1Zwk5upNYMWkzcyCjKpOG7cT8eNMA/kZ+BJmr4ioqvwF0Vn06LBZVccAAAAASUVORK5CYII='
|
||||||
|
|
||||||
|
font = 'Courier 16 bold'
|
||||||
|
width = 25
|
||||||
|
height = 14
|
||||||
|
all = 80
|
||||||
|
new_start = True
|
||||||
|
size = (30,30)
|
||||||
|
# 0: 0, 1: hidden card, 2: bomb card, 3: flag card, 4: shown card
|
||||||
|
im = ['', blank, bomb,flag, '']
|
||||||
|
color = [('grey', 'grey'), ('black', 'green'),
|
||||||
|
('black', 'green'), ('black', 'green'), ('black', 'grey')]
|
||||||
|
|
||||||
|
def binding_all(): # Bind right button of mouse to cell object
|
||||||
|
|
||||||
|
for x in range(width):
|
||||||
|
for y in range(height):
|
||||||
|
window[b[x][y].key].bind(
|
||||||
|
'<Button-3>', '+RIGHT')
|
||||||
|
|
||||||
|
# Setting for top buttons
|
||||||
|
def button1(text, key=None, disabled=False, button_color=('white', 'green')):
|
||||||
|
|
||||||
|
return sg.Button(text, pad=(10, 10), font=font, focus=False, key=key,
|
||||||
|
disabled=disabled, button_color=button_color)
|
||||||
|
|
||||||
|
def button2(x, y): # define cell as instance of button and
|
||||||
|
|
||||||
|
b[x][y] = button(x,y) # bulid Button
|
||||||
|
return b[x][y].button
|
||||||
|
|
||||||
|
def check_blank(x, y): # Check if cell near 0-bomb cel
|
||||||
|
|
||||||
|
if b[x][y].num==0: return False
|
||||||
|
for i in [-1, 0, 1]:
|
||||||
|
for j in [-1, 0, 1]:
|
||||||
|
if i==0 and j==0: continue
|
||||||
|
if ((0<=x+i<width) and (0<=y+j<height) and
|
||||||
|
(b[x+i][y+j].num==0)): return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def check_num(): # check number of bombs, flags and hides
|
||||||
|
|
||||||
|
bomb_count = flag_count = hide_count = 0
|
||||||
|
for x in range(width):
|
||||||
|
for y in range(height):
|
||||||
|
if b[x][y].state == 1:
|
||||||
|
hide_count += 1
|
||||||
|
elif b[x][y].state == 2:
|
||||||
|
bomb_count += 1
|
||||||
|
elif b[x][y].state == 3:
|
||||||
|
flag_count += 1
|
||||||
|
return bomb_count, flag_count, hide_count
|
||||||
|
|
||||||
|
# Count number of bombs about cell
|
||||||
|
def count_bomb(x, y):
|
||||||
|
|
||||||
|
global bomb
|
||||||
|
if bomb[x][y]==10: return 10
|
||||||
|
count = 0
|
||||||
|
for i in [-1, 0, 1]:
|
||||||
|
for j in [-1, 0, 1]:
|
||||||
|
if i==0 and j==0: continue
|
||||||
|
if ((0<=x+i<width) and (0<=y+j<height) and
|
||||||
|
(bomb[x+i][y+j]==10)):
|
||||||
|
count += 1
|
||||||
|
return count
|
||||||
|
|
||||||
|
# set position for all boms
|
||||||
|
def deal():
|
||||||
|
|
||||||
|
global bomb
|
||||||
|
bomb_list = random.sample(range(width*height), all)
|
||||||
|
bomb = [[0 for y in range(height)] for x in range(width)]
|
||||||
|
|
||||||
|
for x in range(width):
|
||||||
|
for y in range(height):
|
||||||
|
if x*height+y in bomb_list: bomb[x][y]=10
|
||||||
|
|
||||||
|
for x in range(width):
|
||||||
|
for y in range(height):
|
||||||
|
bomb[x][y] = count_bomb(x, y)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
def new_card(): # refresh all cells to hidden card
|
||||||
|
|
||||||
|
for x in range(width):
|
||||||
|
for y in range(height):
|
||||||
|
b[x][y].state = 1
|
||||||
|
b[x][y].num = bomb[x][y]
|
||||||
|
b[x][y].color = color[1]
|
||||||
|
b[x][y].update(1)
|
||||||
|
|
||||||
|
def show_blank(): # Show all cell not around by any bomb
|
||||||
|
|
||||||
|
for x in range(width):
|
||||||
|
for y in range(height):
|
||||||
|
if b[x][y].num == 0:
|
||||||
|
b[x][y].update(0)
|
||||||
|
elif check_blank(x, y):
|
||||||
|
b[x][y].update(4)
|
||||||
|
|
||||||
|
# Class for each button object
|
||||||
|
class button():
|
||||||
|
|
||||||
|
def __init__(self, x, y):
|
||||||
|
|
||||||
|
self.x = x
|
||||||
|
self.y = y
|
||||||
|
self.state = 1
|
||||||
|
self.color = color[self.state]
|
||||||
|
self.disabled = False
|
||||||
|
self.key = (x,y) # keys can be ANYTHING, not just strings
|
||||||
|
self.num = bomb[x][y]
|
||||||
|
self.button = sg.Button(' ',
|
||||||
|
auto_size_button=False,
|
||||||
|
border_width=2,
|
||||||
|
button_color=self.color,
|
||||||
|
disabled=self.disabled,
|
||||||
|
focus=False,
|
||||||
|
font=font,
|
||||||
|
image_size=size,
|
||||||
|
# image_filename=im[self.state],
|
||||||
|
image_data=im[self.state],
|
||||||
|
key=self.key,
|
||||||
|
pad=(1,1))
|
||||||
|
|
||||||
|
def right_click(self): # Right_click handler
|
||||||
|
|
||||||
|
if self.state == 1:
|
||||||
|
self.update(3)
|
||||||
|
elif self.state == 3:
|
||||||
|
self.update(1)
|
||||||
|
|
||||||
|
def update(self, state): # update state of cell
|
||||||
|
|
||||||
|
self.state = state
|
||||||
|
if state == 0:
|
||||||
|
self.disabled = True
|
||||||
|
text = ' '
|
||||||
|
elif state in [1,2,3]:
|
||||||
|
self.disabled = False
|
||||||
|
text = ' '
|
||||||
|
elif state == 4:
|
||||||
|
self.disabled = True
|
||||||
|
text = str(self.num)
|
||||||
|
self.color = color[self.state]
|
||||||
|
window[self.key].Widget['disabledforeground'] = 'white'
|
||||||
|
self.button.Update(text=text, disabled=self.disabled,
|
||||||
|
# image_filename=im[self.state],
|
||||||
|
image_data=im[self.state],
|
||||||
|
image_size=size,
|
||||||
|
button_color=self.color)
|
||||||
|
|
||||||
|
# set theme for window
|
||||||
|
sg.change_look_and_feel('DarkGreen')
|
||||||
|
|
||||||
|
deal() # Initial position of bombs
|
||||||
|
b = [[0 for j in range(height)] for i in range(width)]
|
||||||
|
|
||||||
|
layout = [[button1('New Game', key='-New Game-'), # Layout of window
|
||||||
|
button1('Game Over', key='-Game Over-'),
|
||||||
|
button1('Target:'+str(all), key='-Target-'),
|
||||||
|
button1('Bomb:0', key='-Count-Bomb-'),
|
||||||
|
button1('Flag:0', key='-Count-Flag-')]]+[
|
||||||
|
[button2(x, y) for x in range(width)] for y in range(height)]
|
||||||
|
|
||||||
|
window = sg.Window('MineSweeper', layout=layout, finalize=True) # Create window
|
||||||
|
binding_all() # Binding right button event handler of all cells
|
||||||
|
show_blank() # Show all cells near no-bomb cell
|
||||||
|
|
||||||
|
new_start = True # Flag for new game
|
||||||
|
message = False # Flag for game over message sent
|
||||||
|
|
||||||
|
while True:
|
||||||
|
|
||||||
|
if new_start: # Actions for new game
|
||||||
|
|
||||||
|
deal()
|
||||||
|
new_card()
|
||||||
|
show_blank()
|
||||||
|
message = False
|
||||||
|
new_start = False
|
||||||
|
pass
|
||||||
|
|
||||||
|
event, values = window.read() # read window event
|
||||||
|
|
||||||
|
if event==None or event=='-Game Over-': # Window close / Game over
|
||||||
|
break
|
||||||
|
|
||||||
|
elif event == '-New Game-': # New Game, set the flag
|
||||||
|
new_start = True
|
||||||
|
|
||||||
|
elif isinstance(event, tuple): # buttons have tuple for event
|
||||||
|
right_click = False
|
||||||
|
if isinstance(event[0], tuple): # if the tuple has a tuple, then it's a right click event
|
||||||
|
x,y = event[0]
|
||||||
|
right_click = True
|
||||||
|
else:
|
||||||
|
x, y = event
|
||||||
|
if not right_click:
|
||||||
|
if b[x][y].state == 1:
|
||||||
|
if b[x][y].num == 10:
|
||||||
|
b[x][y].update(2)
|
||||||
|
else:
|
||||||
|
b[x][y].update(4)
|
||||||
|
else:
|
||||||
|
b[x][y].right_click()
|
||||||
|
# Update number onf bombs, flags
|
||||||
|
bomb_num, flag_num, hide_num = check_num()
|
||||||
|
window['-Count-Bomb-'].Update(text='Bomb:'+str(bomb_num))
|
||||||
|
window['-Count-Flag-'].Update(text='Flag:'+str(flag_num))
|
||||||
|
|
||||||
|
# Check if game over
|
||||||
|
if hide_num==0 and (bomb_num+flag_num==all) and (not message):
|
||||||
|
message = True
|
||||||
|
sg.popup('Game Over', title='Note')
|
||||||
|
|
||||||
|
window.close()
|
|
@ -14,7 +14,7 @@
|
||||||
![Awesome Meter](https://img.shields.io/badge/Awesome_meter-100-yellow.svg)
|
![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/Python-2.7_3.x-yellow.svg)
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_3.x_Version-4.11.0-red.svg?longCache=true&style=for-the-badge)
|
![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_2.7_Version-2.4.1-blue.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)
|
![Python Version](https://img.shields.io/badge/PySimpleGUIQt_Version-0.30.0-orange.svg?longCache=true&style=for-the-badge)
|
||||||
|
@ -5424,6 +5424,7 @@ Button(button_text="",
|
||||||
size=(None, None),
|
size=(None, None),
|
||||||
auto_size_button=None,
|
auto_size_button=None,
|
||||||
button_color=None,
|
button_color=None,
|
||||||
|
disabled_button_color=None,
|
||||||
use_ttk_buttons=None,
|
use_ttk_buttons=None,
|
||||||
font=None,
|
font=None,
|
||||||
bind_return_key=False,
|
bind_return_key=False,
|
||||||
|
@ -5455,6 +5456,7 @@ Parameter Descriptions:
|
||||||
|size|Tuple[int, int] (width, height) of the button in characters wide, rows high|
|
|size|Tuple[int, int] (width, height) of the button in characters wide, rows high|
|
||||||
|auto_size_button|(bool) if True the button size is sized to fit the text|
|
|auto_size_button|(bool) if True the button size is sized to fit the text|
|
||||||
|button_color|Tuple[str, str] (text color, background color) of button. Easy to remember which is which if you say "ON" between colors. "red" on "green".|
|
|button_color|Tuple[str, str] (text color, background color) of button. Easy to remember which is which if you say "ON" between colors. "red" on "green".|
|
||||||
|
|disabled_button_color|Tuple[str, str] 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|
|
||||||
|use_ttk_buttons|(bool) 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|
|
|use_ttk_buttons|(bool) 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|
|
||||||
|font|Union[str, Tuple[str, int]] specifies the font family, size, etc|
|
|font|Union[str, Tuple[str, int]] specifies the font family, size, etc|
|
||||||
|bind_return_key|(bool) If True the return key will cause this button to be pressed|
|
|bind_return_key|(bool) If True the return key will cause this button to be pressed|
|
||||||
|
@ -5523,6 +5525,7 @@ Update(text=None,
|
||||||
image_filename=None,
|
image_filename=None,
|
||||||
visible=None,
|
visible=None,
|
||||||
image_subsample=None,
|
image_subsample=None,
|
||||||
|
disabled_button_color=(None, None),
|
||||||
image_size=None)
|
image_size=None)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -5535,6 +5538,7 @@ Parameter Descriptions:
|
||||||
|disabled|(bool) disable or enable state of the element|
|
|disabled|(bool) disable or enable state of the element|
|
||||||
|image_data|Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data|
|
|image_data|Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data|
|
||||||
|image_filename|(str) image filename if there is a button image. GIFs and PNGs only.|
|
|image_filename|(str) image filename if there is a button image. GIFs and PNGs only.|
|
||||||
|
|disabled_button_color|Tuple[str, str] 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|
|
||||||
|visible|(bool) control visibility of element|
|
|visible|(bool) control visibility of element|
|
||||||
|image_subsample|(int) amount to reduce the size of the image. Divides the size by this number. 2=1/2, 3=1/3, 4=1/4, etc|
|
|image_subsample|(int) amount to reduce the size of the image. Divides the size by this number. 2=1/2, 3=1/3, 4=1/4, etc|
|
||||||
|image_size|Tuple[int, int] Size of the image in pixels (width, height)|
|
|image_size|Tuple[int, int] Size of the image in pixels (width, height)|
|
||||||
|
@ -5687,6 +5691,7 @@ update(text=None,
|
||||||
image_filename=None,
|
image_filename=None,
|
||||||
visible=None,
|
visible=None,
|
||||||
image_subsample=None,
|
image_subsample=None,
|
||||||
|
disabled_button_color=(None, None),
|
||||||
image_size=None)
|
image_size=None)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -5699,6 +5704,7 @@ Parameter Descriptions:
|
||||||
|disabled|(bool) disable or enable state of the element|
|
|disabled|(bool) disable or enable state of the element|
|
||||||
|image_data|Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data|
|
|image_data|Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data|
|
||||||
|image_filename|(str) image filename if there is a button image. GIFs and PNGs only.|
|
|image_filename|(str) image filename if there is a button image. GIFs and PNGs only.|
|
||||||
|
|disabled_button_color|Tuple[str, str] 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|
|
||||||
|visible|(bool) control visibility of element|
|
|visible|(bool) control visibility of element|
|
||||||
|image_subsample|(int) amount to reduce the size of the image. Divides the size by this number. 2=1/2, 3=1/3, 4=1/4, etc|
|
|image_subsample|(int) amount to reduce the size of the image. Divides the size by this number. 2=1/2, 3=1/3, 4=1/4, etc|
|
||||||
|image_size|Tuple[int, int] Size of the image in pixels (width, height)|
|
|image_size|Tuple[int, int] Size of the image in pixels (width, height)|
|
||||||
|
@ -14307,6 +14313,8 @@ call and then have that same source run on plain PySimpleGUI.
|
||||||
|---|---|
|
|---|---|
|
||||||
| **return** | |
|
| **return** | |
|
||||||
|
|
||||||
|
## Function Reference
|
||||||
|
|
||||||
```
|
```
|
||||||
CButton(button_text,
|
CButton(button_text,
|
||||||
image_filename=None,
|
image_filename=None,
|
||||||
|
@ -15021,6 +15029,39 @@ Parameter Descriptions:
|
||||||
|||
|
|||
|
||||||
| **return** | (Button) |
|
| **return** | (Button) |
|
||||||
|
|
||||||
|
```
|
||||||
|
Open(button_text="Open",
|
||||||
|
size=(None, None),
|
||||||
|
auto_size_button=None,
|
||||||
|
button_color=None,
|
||||||
|
disabled=False,
|
||||||
|
bind_return_key=True,
|
||||||
|
tooltip=None,
|
||||||
|
font=None,
|
||||||
|
focus=False,
|
||||||
|
pad=None,
|
||||||
|
key=None,
|
||||||
|
metadata=None)
|
||||||
|
```
|
||||||
|
|
||||||
|
Parameter Descriptions:
|
||||||
|
|
||||||
|
|Name|Meaning|
|
||||||
|
|---|---|
|
||||||
|
|button_text|text in the button (Default value = 'Open')|
|
||||||
|
|size|(w,h) w=characters-wide, h=rows-high|
|
||||||
|
|auto_size_button|True if button size is determined by button text|
|
||||||
|
|button_color|button color (foreground, background)|
|
||||||
|
|disabled|set disable state for element (Default = False)|
|
||||||
|
|bind_return_key|(Default = True)|
|
||||||
|
|tooltip|(str) text, that will appear when mouse hovers over the element|
|
||||||
|
|font|specifies the font family, size, etc|
|
||||||
|
|focus|if focus should be set to this|
|
||||||
|
|pad|Amount of padding to put around element|
|
||||||
|
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
||||||
|
|
||||||
|
## OneLineProgressMeter
|
||||||
|
|
||||||
```
|
```
|
||||||
OneLineProgressMeter(title,
|
OneLineProgressMeter(title,
|
||||||
current_value,
|
current_value,
|
||||||
|
@ -15061,36 +15102,7 @@ Parameter Descriptions:
|
||||||
|---|---|
|
|---|---|
|
||||||
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
||||||
|
|
||||||
```
|
## Popup Functions
|
||||||
Open(button_text="Open",
|
|
||||||
size=(None, None),
|
|
||||||
auto_size_button=None,
|
|
||||||
button_color=None,
|
|
||||||
disabled=False,
|
|
||||||
bind_return_key=True,
|
|
||||||
tooltip=None,
|
|
||||||
font=None,
|
|
||||||
focus=False,
|
|
||||||
pad=None,
|
|
||||||
key=None,
|
|
||||||
metadata=None)
|
|
||||||
```
|
|
||||||
|
|
||||||
Parameter Descriptions:
|
|
||||||
|
|
||||||
|Name|Meaning|
|
|
||||||
|---|---|
|
|
||||||
|button_text|text in the button (Default value = 'Open')|
|
|
||||||
|size|(w,h) w=characters-wide, h=rows-high|
|
|
||||||
|auto_size_button|True if button size is determined by button text|
|
|
||||||
|button_color|button color (foreground, background)|
|
|
||||||
|disabled|set disable state for element (Default = False)|
|
|
||||||
|bind_return_key|(Default = True)|
|
|
||||||
|tooltip|(str) text, that will appear when mouse hovers over the element|
|
|
||||||
|font|specifies the font family, size, etc|
|
|
||||||
|focus|if focus should be set to this|
|
|
||||||
|pad|Amount of padding to put around element|
|
|
||||||
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
|
||||||
|
|
||||||
Popup - Display a popup Window with as many parms as you wish to include. This is the GUI equivalent of the
|
Popup - Display a popup Window with as many parms as you wish to include. This is the GUI equivalent of the
|
||||||
"print" statement. It's also great for "pausing" your program's flow until the user can read some error messages.
|
"print" statement. It's also great for "pausing" your program's flow until the user can read some error messages.
|
||||||
|
@ -16453,6 +16465,8 @@ Parameter Descriptions:
|
||||||
|||
|
|||
|
||||||
| **return** | (Button) |
|
| **return** | (Button) |
|
||||||
|
|
||||||
|
## PEP8 Function Bindings
|
||||||
|
|
||||||
Change the "color scheme" of all future PySimpleGUI Windows.
|
Change the "color scheme" of all future PySimpleGUI Windows.
|
||||||
The scheme are string names that specify a group of colors. Background colors, text colors, button colors.
|
The scheme are string names that specify a group of colors. Background colors, text colors, button colors.
|
||||||
There are 13 different color settings that are changed at one time using a single call to ChangeLookAndFeel
|
There are 13 different color settings that are changed at one time using a single call to ChangeLookAndFeel
|
||||||
|
@ -16634,6 +16648,8 @@ Parameter Descriptions:
|
||||||
|---|---|
|
|---|---|
|
||||||
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
||||||
|
|
||||||
|
## Popups
|
||||||
|
|
||||||
Popup - Display a popup Window with as many parms as you wish to include. This is the GUI equivalent of the
|
Popup - Display a popup Window with as many parms as you wish to include. This is the GUI equivalent of the
|
||||||
"print" statement. It's also great for "pausing" your program's flow until the user can read some error messages.
|
"print" statement. It's also great for "pausing" your program's flow until the user can read some error messages.
|
||||||
|
|
||||||
|
@ -18981,7 +18997,24 @@ The Element & Window bindings release
|
||||||
* Window.bind - New method for Windows, just like Elements
|
* Window.bind - New method for Windows, just like Elements
|
||||||
* Enables tkinter bindings to be added to Windows
|
* Enables tkinter bindings to be added to Windows
|
||||||
* Will get an event returned from window.read() if the tkinter event happens
|
* Will get an event returned from window.read() if the tkinter event happens
|
||||||
* TabGround fonts - can now set the font and font size for Tab text
|
* TabGroup fonts - can now set the font and font size for Tab text
|
||||||
|
|
||||||
|
## 4.12.0 PySimpleGUI 14-Dec-2019
|
||||||
|
|
||||||
|
Finally no more outlines around TK Elements on Linux
|
||||||
|
|
||||||
|
* Fixed a long-term problem of the mysterious white border around (almost) all TK Elements on Linux
|
||||||
|
* Ability to set the disabled button colors
|
||||||
|
* New Button and Button.update parameter - disabled_button_color
|
||||||
|
* Specified as (Text Color, Background Color) just like button colors
|
||||||
|
* For Normal / TK Buttons - can set button text color only
|
||||||
|
* For TTK Buttons - can set both a disabled button and text color
|
||||||
|
* Either parameter can be None to use current setting
|
||||||
|
* Removed use of CloseButton from Popups (still have a bug in the CloseButton code but not in popups now)
|
||||||
|
* Combobox - removed requirement of setting disabled if want to set to readonly using update method
|
||||||
|
* Fix for cancelling out of file/folder browse on Linux caused target to be cleared instead of just cancelling
|
||||||
|
* 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
|
||||||
|
|
||||||
### Upcoming
|
### Upcoming
|
||||||
|
|
||||||
|
|
97
readme.md
97
readme.md
|
@ -14,7 +14,7 @@
|
||||||
![Awesome Meter](https://img.shields.io/badge/Awesome_meter-100-yellow.svg)
|
![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/Python-2.7_3.x-yellow.svg)
|
||||||
|
|
||||||
![Python Version](https://img.shields.io/badge/PySimpleGUI_For_Python_3.x_Version-4.11.0-red.svg?longCache=true&style=for-the-badge)
|
![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_2.7_Version-2.4.1-blue.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)
|
![Python Version](https://img.shields.io/badge/PySimpleGUIQt_Version-0.30.0-orange.svg?longCache=true&style=for-the-badge)
|
||||||
|
@ -5424,6 +5424,7 @@ Button(button_text="",
|
||||||
size=(None, None),
|
size=(None, None),
|
||||||
auto_size_button=None,
|
auto_size_button=None,
|
||||||
button_color=None,
|
button_color=None,
|
||||||
|
disabled_button_color=None,
|
||||||
use_ttk_buttons=None,
|
use_ttk_buttons=None,
|
||||||
font=None,
|
font=None,
|
||||||
bind_return_key=False,
|
bind_return_key=False,
|
||||||
|
@ -5455,6 +5456,7 @@ Parameter Descriptions:
|
||||||
|size|Tuple[int, int] (width, height) of the button in characters wide, rows high|
|
|size|Tuple[int, int] (width, height) of the button in characters wide, rows high|
|
||||||
|auto_size_button|(bool) if True the button size is sized to fit the text|
|
|auto_size_button|(bool) if True the button size is sized to fit the text|
|
||||||
|button_color|Tuple[str, str] (text color, background color) of button. Easy to remember which is which if you say "ON" between colors. "red" on "green".|
|
|button_color|Tuple[str, str] (text color, background color) of button. Easy to remember which is which if you say "ON" between colors. "red" on "green".|
|
||||||
|
|disabled_button_color|Tuple[str, str] 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|
|
||||||
|use_ttk_buttons|(bool) 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|
|
|use_ttk_buttons|(bool) 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|
|
||||||
|font|Union[str, Tuple[str, int]] specifies the font family, size, etc|
|
|font|Union[str, Tuple[str, int]] specifies the font family, size, etc|
|
||||||
|bind_return_key|(bool) If True the return key will cause this button to be pressed|
|
|bind_return_key|(bool) If True the return key will cause this button to be pressed|
|
||||||
|
@ -5523,6 +5525,7 @@ Update(text=None,
|
||||||
image_filename=None,
|
image_filename=None,
|
||||||
visible=None,
|
visible=None,
|
||||||
image_subsample=None,
|
image_subsample=None,
|
||||||
|
disabled_button_color=(None, None),
|
||||||
image_size=None)
|
image_size=None)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -5535,6 +5538,7 @@ Parameter Descriptions:
|
||||||
|disabled|(bool) disable or enable state of the element|
|
|disabled|(bool) disable or enable state of the element|
|
||||||
|image_data|Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data|
|
|image_data|Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data|
|
||||||
|image_filename|(str) image filename if there is a button image. GIFs and PNGs only.|
|
|image_filename|(str) image filename if there is a button image. GIFs and PNGs only.|
|
||||||
|
|disabled_button_color|Tuple[str, str] 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|
|
||||||
|visible|(bool) control visibility of element|
|
|visible|(bool) control visibility of element|
|
||||||
|image_subsample|(int) amount to reduce the size of the image. Divides the size by this number. 2=1/2, 3=1/3, 4=1/4, etc|
|
|image_subsample|(int) amount to reduce the size of the image. Divides the size by this number. 2=1/2, 3=1/3, 4=1/4, etc|
|
||||||
|image_size|Tuple[int, int] Size of the image in pixels (width, height)|
|
|image_size|Tuple[int, int] Size of the image in pixels (width, height)|
|
||||||
|
@ -5687,6 +5691,7 @@ update(text=None,
|
||||||
image_filename=None,
|
image_filename=None,
|
||||||
visible=None,
|
visible=None,
|
||||||
image_subsample=None,
|
image_subsample=None,
|
||||||
|
disabled_button_color=(None, None),
|
||||||
image_size=None)
|
image_size=None)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -5699,6 +5704,7 @@ Parameter Descriptions:
|
||||||
|disabled|(bool) disable or enable state of the element|
|
|disabled|(bool) disable or enable state of the element|
|
||||||
|image_data|Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data|
|
|image_data|Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data|
|
||||||
|image_filename|(str) image filename if there is a button image. GIFs and PNGs only.|
|
|image_filename|(str) image filename if there is a button image. GIFs and PNGs only.|
|
||||||
|
|disabled_button_color|Tuple[str, str] 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|
|
||||||
|visible|(bool) control visibility of element|
|
|visible|(bool) control visibility of element|
|
||||||
|image_subsample|(int) amount to reduce the size of the image. Divides the size by this number. 2=1/2, 3=1/3, 4=1/4, etc|
|
|image_subsample|(int) amount to reduce the size of the image. Divides the size by this number. 2=1/2, 3=1/3, 4=1/4, etc|
|
||||||
|image_size|Tuple[int, int] Size of the image in pixels (width, height)|
|
|image_size|Tuple[int, int] Size of the image in pixels (width, height)|
|
||||||
|
@ -14307,6 +14313,8 @@ call and then have that same source run on plain PySimpleGUI.
|
||||||
|---|---|
|
|---|---|
|
||||||
| **return** | |
|
| **return** | |
|
||||||
|
|
||||||
|
## Function Reference
|
||||||
|
|
||||||
```
|
```
|
||||||
CButton(button_text,
|
CButton(button_text,
|
||||||
image_filename=None,
|
image_filename=None,
|
||||||
|
@ -15021,6 +15029,39 @@ Parameter Descriptions:
|
||||||
|||
|
|||
|
||||||
| **return** | (Button) |
|
| **return** | (Button) |
|
||||||
|
|
||||||
|
```
|
||||||
|
Open(button_text="Open",
|
||||||
|
size=(None, None),
|
||||||
|
auto_size_button=None,
|
||||||
|
button_color=None,
|
||||||
|
disabled=False,
|
||||||
|
bind_return_key=True,
|
||||||
|
tooltip=None,
|
||||||
|
font=None,
|
||||||
|
focus=False,
|
||||||
|
pad=None,
|
||||||
|
key=None,
|
||||||
|
metadata=None)
|
||||||
|
```
|
||||||
|
|
||||||
|
Parameter Descriptions:
|
||||||
|
|
||||||
|
|Name|Meaning|
|
||||||
|
|---|---|
|
||||||
|
|button_text|text in the button (Default value = 'Open')|
|
||||||
|
|size|(w,h) w=characters-wide, h=rows-high|
|
||||||
|
|auto_size_button|True if button size is determined by button text|
|
||||||
|
|button_color|button color (foreground, background)|
|
||||||
|
|disabled|set disable state for element (Default = False)|
|
||||||
|
|bind_return_key|(Default = True)|
|
||||||
|
|tooltip|(str) text, that will appear when mouse hovers over the element|
|
||||||
|
|font|specifies the font family, size, etc|
|
||||||
|
|focus|if focus should be set to this|
|
||||||
|
|pad|Amount of padding to put around element|
|
||||||
|
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
||||||
|
|
||||||
|
## OneLineProgressMeter
|
||||||
|
|
||||||
```
|
```
|
||||||
OneLineProgressMeter(title,
|
OneLineProgressMeter(title,
|
||||||
current_value,
|
current_value,
|
||||||
|
@ -15061,36 +15102,7 @@ Parameter Descriptions:
|
||||||
|---|---|
|
|---|---|
|
||||||
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
||||||
|
|
||||||
```
|
## Popup Functions
|
||||||
Open(button_text="Open",
|
|
||||||
size=(None, None),
|
|
||||||
auto_size_button=None,
|
|
||||||
button_color=None,
|
|
||||||
disabled=False,
|
|
||||||
bind_return_key=True,
|
|
||||||
tooltip=None,
|
|
||||||
font=None,
|
|
||||||
focus=False,
|
|
||||||
pad=None,
|
|
||||||
key=None,
|
|
||||||
metadata=None)
|
|
||||||
```
|
|
||||||
|
|
||||||
Parameter Descriptions:
|
|
||||||
|
|
||||||
|Name|Meaning|
|
|
||||||
|---|---|
|
|
||||||
|button_text|text in the button (Default value = 'Open')|
|
|
||||||
|size|(w,h) w=characters-wide, h=rows-high|
|
|
||||||
|auto_size_button|True if button size is determined by button text|
|
|
||||||
|button_color|button color (foreground, background)|
|
|
||||||
|disabled|set disable state for element (Default = False)|
|
|
||||||
|bind_return_key|(Default = True)|
|
|
||||||
|tooltip|(str) text, that will appear when mouse hovers over the element|
|
|
||||||
|font|specifies the font family, size, etc|
|
|
||||||
|focus|if focus should be set to this|
|
|
||||||
|pad|Amount of padding to put around element|
|
|
||||||
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
|
||||||
|
|
||||||
Popup - Display a popup Window with as many parms as you wish to include. This is the GUI equivalent of the
|
Popup - Display a popup Window with as many parms as you wish to include. This is the GUI equivalent of the
|
||||||
"print" statement. It's also great for "pausing" your program's flow until the user can read some error messages.
|
"print" statement. It's also great for "pausing" your program's flow until the user can read some error messages.
|
||||||
|
@ -16453,6 +16465,8 @@ Parameter Descriptions:
|
||||||
|||
|
|||
|
||||||
| **return** | (Button) |
|
| **return** | (Button) |
|
||||||
|
|
||||||
|
## PEP8 Function Bindings
|
||||||
|
|
||||||
Change the "color scheme" of all future PySimpleGUI Windows.
|
Change the "color scheme" of all future PySimpleGUI Windows.
|
||||||
The scheme are string names that specify a group of colors. Background colors, text colors, button colors.
|
The scheme are string names that specify a group of colors. Background colors, text colors, button colors.
|
||||||
There are 13 different color settings that are changed at one time using a single call to ChangeLookAndFeel
|
There are 13 different color settings that are changed at one time using a single call to ChangeLookAndFeel
|
||||||
|
@ -16634,6 +16648,8 @@ Parameter Descriptions:
|
||||||
|---|---|
|
|---|---|
|
||||||
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
|key|Used with window.FindElement and with return values to uniquely identify this element|
|
||||||
|
|
||||||
|
## Popups
|
||||||
|
|
||||||
Popup - Display a popup Window with as many parms as you wish to include. This is the GUI equivalent of the
|
Popup - Display a popup Window with as many parms as you wish to include. This is the GUI equivalent of the
|
||||||
"print" statement. It's also great for "pausing" your program's flow until the user can read some error messages.
|
"print" statement. It's also great for "pausing" your program's flow until the user can read some error messages.
|
||||||
|
|
||||||
|
@ -18981,7 +18997,24 @@ The Element & Window bindings release
|
||||||
* Window.bind - New method for Windows, just like Elements
|
* Window.bind - New method for Windows, just like Elements
|
||||||
* Enables tkinter bindings to be added to Windows
|
* Enables tkinter bindings to be added to Windows
|
||||||
* Will get an event returned from window.read() if the tkinter event happens
|
* Will get an event returned from window.read() if the tkinter event happens
|
||||||
* TabGround fonts - can now set the font and font size for Tab text
|
* TabGroup fonts - can now set the font and font size for Tab text
|
||||||
|
|
||||||
|
## 4.12.0 PySimpleGUI 14-Dec-2019
|
||||||
|
|
||||||
|
Finally no more outlines around TK Elements on Linux
|
||||||
|
|
||||||
|
* Fixed a long-term problem of the mysterious white border around (almost) all TK Elements on Linux
|
||||||
|
* Ability to set the disabled button colors
|
||||||
|
* New Button and Button.update parameter - disabled_button_color
|
||||||
|
* Specified as (Text Color, Background Color) just like button colors
|
||||||
|
* For Normal / TK Buttons - can set button text color only
|
||||||
|
* For TTK Buttons - can set both a disabled button and text color
|
||||||
|
* Either parameter can be None to use current setting
|
||||||
|
* Removed use of CloseButton from Popups (still have a bug in the CloseButton code but not in popups now)
|
||||||
|
* Combobox - removed requirement of setting disabled if want to set to readonly using update method
|
||||||
|
* Fix for cancelling out of file/folder browse on Linux caused target to be cleared instead of just cancelling
|
||||||
|
* 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
|
||||||
|
|
||||||
### Upcoming
|
### Upcoming
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue