OK Message Box#
For an introduction the GUI system, see GUI Concepts.
This example shows how to pop up a quick message box for the user to click ‘Ok’ on
using the arcade.gui.OKMessagebox
class.

gui_ok_messagebox.py#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | """
Example code showing how to use the OKMessageBox
"""
import arcade
import arcade.gui
class MyWindow(arcade.Window):
def __init__(self):
super().__init__(800, 600, "OKMessageBox Example", resizable=True)
arcade.set_background_color(arcade.color.COOL_GREY)
# Create and enable the UIManager
self.manager = arcade.gui.UIManager()
self.manager.enable()
# Create a box group to align the 'open' button in the center
self.v_box = arcade.gui.UIBoxLayout()
# Create a button. We'll click on this to open our window.
# Add it v_box for positioning.
open_message_box_button = arcade.gui.UIFlatButton(text="Open", width=200)
self.v_box.add(open_message_box_button)
# Add a hook to run when we click on the button.
open_message_box_button.on_click = self.on_click_open
# Create a widget to hold the v_box widget, that will center the buttons
self.manager.add(
arcade.gui.UIAnchorWidget(
anchor_x="center_x",
anchor_y="center_y",
child=self.v_box)
)
def on_click_open(self, event):
# The code in this function is run when we click the ok button.
# The code below opens the message box and auto-dismisses it when done.
message_box = arcade.gui.UIMessageBox(
width=300,
height=200,
message_text=(
"You should have a look on the new GUI features "
"coming up with arcade 2.6!"
),
callback=self.on_message_box_close,
buttons=["Ok", "Cancel"]
)
self.manager.add(message_box)
def on_draw(self):
self.clear()
self.manager.draw()
def on_message_box_close(self, button_text):
print(f"User pressed {button_text}.")
window = MyWindow()
arcade.run()
|