Popup¶
New in version 1.0.7.

The Popup widget is used to create modal popups. By default, the popup will cover the whole “parent” window. When you are creating a popup, you must at a minimum set a Popup.title and a Popup.content widget.
Remember that the default size of a Widget is size_hint=(1, 1). If you don’t want your popup to be fullscreen, either use lower than 1 size hints (for instance size_hint=(.8, .8)) or deactivate the size_hint and use fixed size attributes.
Changed in version 1.4.0: The Popup class now inherits from ModalView. The Popup offers a default layout with a title and a separation bar.
Examples¶
Example of a simple 400x400 Hello world popup:
popup = Popup(title='Test popup',
content=Label(text='Hello world'),
size_hint=(None, None), size=(400, 400))
By default, any click outside the popup will dismiss it. If you don’t want that, you can set Popup.auto_dismiss to False:
popup = Popup(title='Test popup', content=Label(text='Hello world'),
auto_dismiss=False)
popup.open()
To manually dismiss/close the popup, use Popup.dismiss():
popup.dismiss()
The Popup.open() and Popup.dismiss() are bindable. That means you can directly bind the function to an action, e.g., to a button’s on_press:
# create content and assign to the popup
content = Button(text='Close me!')
popup = Popup(content=content, auto_dismiss=False)
# bind the on_press event of the button to the dismiss function
content.bind(on_press=popup.dismiss)
# open the popup
popup.open()
Popup Events¶
There are two events available: on_open when the popup is opening, and on_dismiss when it is closed. For on_dismiss, you can prevent the popup from closing by explictly returning True from your callback:
def my_callback(instance):
print 'Popup', instance, 'is being dismissed, but is prevented!'
return True
popup = Popup(content=Label(text='Hello world'))
popup.bind(on_dismiss=my_callback)
popup.open()
- class kivy.uix.popup.Popup(**kwargs)¶
Bases: kivy.uix.modalview.ModalView
Popup class. See module documentation for more information.
Events : - on_open:
Fired when the Popup is opened
- on_dismiss:
Fired when the Popup is closed. If the callback returns True, the dismiss will be canceled.
- content¶
Content of the popup that is displayed just under the title.
content is a ObjectProperty, default to None.
- separator_color¶
Color used by the separator between title and content.
New in version 1.1.0.
separator_color is a ListProperty, default to [47 / 255., 167 / 255., 212 / 255., 1.]
- separator_height¶
Height of the separator.
New in version 1.1.0.
separator_height is a NumericProperty, default to 2dp.
- title¶
String that represents the title of the popup.
title is a StringProperty, default to ‘No title’.
- class kivy.uix.popup.PopupException¶
Bases: exceptions.Exception
Popup exception, fired when multiple content are added to the popup.
New in version 1.4.0.