1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- # Kivy example for the Popup widget
- # Program to Show how to create a switch
- # import kivy module
- import kivy
- # base Class of your App inherits from the App class.
- # app:always refers to the instance of your application
- from kivy.app import App
- # this restrict the kivy version i.e
- # below this kivy version you cannot
- # use the app or software
- kivy.require("1.9.0")
- # The Button is a Label with associated actions
- # that is triggered when the button
- # is pressed (or released after a click/touch).
- from kivy.uix.button import Button
- # The GridLayout arranges children in a matrix.
- # It takes the available space and
- # divides it into columns and rows,
- # then adds widgets to the resulting “cells”.
- from kivy.uix.gridlayout import GridLayout
- # Popup widget is used to create popups.
- # By default, the popup will cover
- # the whole “parent” window.
- # When you are creating a popup,
- # you must at least set a Popup.title and Popup.content.
- from kivy.uix.popup import Popup
- # The Label widget is for rendering text.
- from kivy.uix.label import Label
- # to change the kivy default settings we use this module config
- from kivy.config import Config
- # 0 being off 1 being on as in true / false
- # you can use 0 or 1 && True or False
- Config.set("graphics", "resizable", True)
- # Make an app by deriving from the kivy provided app class
- class PopupExample(App):
- # override the build method and return the root widget of this App
- def build(self):
- # Define a grid layout for this App
- self.layout = GridLayout(cols=1, padding=10)
- # Add a button
- self.button = Button(text="Click for pop-up")
- self.layout.add_widget(self.button)
- # Attach a callback for the button press event
- self.button.bind(on_press=self.onButtonPress)
- return self.layout
- # On button press - Create a popup dialog with a label and a close button
- def onButtonPress(self, button):
- layout = GridLayout(cols=1, padding=10)
- popupLabel = Label(text="Click for pop-up")
- closeButton = Button(text="Close the pop-up")
- layout.add_widget(popupLabel)
- layout.add_widget(closeButton)
- # Instantiate the modal popup and display
- popup = Popup(
- title="Demo Popup",
- content=layout,
- size_hint=(None, None),
- size=(200, 200),
- )
- popup.open()
- # Attach close button press with popup.dismiss action
- closeButton.bind(on_press=popup.dismiss)
- # Run the app
- if __name__ == "__main__":
- PopupExample().run()
|