Comments (3)
never mind; I have found a solution due to the previous enhancements:
the solution was to make the button read-only and then change it with if statements.
Thank you for this wonderful pip installation
from pygame-menu.
I arrived late, but check the following example I just did:
import random
import pygame
import pygame_menu
pygame.init()
screen = pygame.display.set_mode((640, 480))
theme = pygame_menu.themes.THEME_BLUE.copy()
theme.widget_margin = (0, 5)
menu = pygame_menu.Menu('Button disable', 640, 480, theme=theme)
def check_name(name_value: str = '') -> None:
"""
Checks the name, which updates the button.
For complex mechanisms, you can use a class to store the name variable
instead of accesing global ones (like this case).
:param name_value: Value passed from onchange() text input method
"""
global button
name_ready = name_value != ''
print('User not configured yet' if not name_ready else 'User ready!')
button.readonly = not name_ready
button.set_selection_effect(None if not name_ready else theme.widget_selection_effect)
def game() -> None:
"""
Starts the game, this method only changes the background color of the menu.
"""
print('Game started!')
menu.get_scrollarea().update_area_color((random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)))
# Create a basic input
name = menu.add.text_input('Enter your name: ', onchange=check_name)
button = menu.add.button('Play', game)
menu.add.button('Exit', pygame_menu.events.EXIT)
# Call start game to setup the initial status, it retrieves the name (which is empty at the app start),
# and disables the button by setting readonly, also dynamically updates the selection effect
check_name()
menu.mainloop(surface=screen)
This example retrieves the input and changes the color of the background color of the "menu area".
from pygame-menu.
from pygame-menu.
Related Issues (20)
- Center menu items when scrollbar is shown HOT 5
- Python version limit HOT 2
- typehints (label) - mypy HOT 2
- [BUG] Menu closes for no reason HOT 5
- Resize all submenus HOT 3
- Unable to hide the cursor, due to pygame_menu HOT 3
- Controller has no influence on menu actions HOT 1
- Example of menu using USB controller, with name of controller used HOT 6
- pygame-ce requirement HOT 6
- file selector HOT 5
- How do I limit the size of a label in px? HOT 4
- Mouse-selection bug HOT 4
- Unpacking then repacking any widget misplaces it in the parent frame HOT 1
- Add method to dropselect API that tells if its dropdown is expanded
- Have a _sdl2 mode where make_surface is never called whith alpha=True
- Navigating back from a nested submenu forgets the widget selection in the parent menu HOT 2
- User warning for equal title font color and menu background color when the latter is set to (0, 0, 0) HOT 2
- How check value for text_input? HOT 1
- AttributeError when changing rangeslider value with an USB gamepad
- bug in windows HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pygame-menu.