External
SimpleKivy.SimpleKivy.External(title='External window title', hwnd=None, k=None, **kwargs)
Attaches an external window to the current kivy window. It’s like runing your program alongside another program. In essence, it is an external window that follows an empty BoxLayout and changes the window being focused when entering and leaving the box with the mouse.
Experimental. Windows only. Expect window flickering. You cannot show any widget on top of the
Externalwidget.
Parameters
hwnd: int, None:
Windows’
hwndof a program to be attached to your window. Defaults toNone
int: External program’shwndid.
None: Thetitleparameter will be used instead to find the external window.
Default is
None.
title (str): External window title. Used to find the external window when hwnd value is None. Default is "External window title"
k: None, str, or NOTKEY
Key specification for quick acess:
None: Automatically sets an int value.
str: Use specific string key.
NOTKEY: Special flag indicating no key should be used.
size: str or sequence of 2 ints
Size specification of the widget:
str: "x{width}": Sets widgetwidthandsize_hint_x = None.
str: "y{height}": Sets widgetheightandsize_hint_y = None.
str: "xchildren": Setssize_hint_x = Noneand binds this widget’s width to the sum of the widths of its children.
str: "ychildren": Setssize_hint_y = Noneand binds this widget’s height to the sum of the heights of its children.
str: "xchild_max": Setssize_hint_x = Noneand binds this widget’s width to the child with the maximum width.
str: "ychild_max": Setssize_hint_y = Noneand binds this widget’s height to the child with the maximum height.
You can combine up to two of the above size string specifications.
str: "{number}": Processed assize = (number, number)andsize_hint = (None,None). Cannot be combined with other string specifications.
sequence: (int, int): Size of the widget. Same asKivy. Has no effect ifsize_hintargument is not set toNone.
Example:
1
2
3
4
5
6
7
sk.External(size = "y35")
sk.External(size = "x120y35")
sk.External(size = "xchildreny40")
sk.External(size = "xchildrenychildren")
sk.External(size = "xchild_maxy40")
sk.External(size = "60")
sk.External(size = (120,35), size_hint = (None, None))
enable_events: bool
Whether the widget will send events to the event_manager set in MyApp using the widgets
k/idproperty as event identifier.
True: Triggers events.
False: Doesn’t trigger events.
on_event: str, iterable (tuple or list), dict
Defines which events/property changes will trigger the event_manager. Only has effect if
enable_events = True.
str: Name of the event or property that will trigger the event_manager.
iterable: [str, str, ...]: Will trigger events for each name in the iterable.
dict: {"{event_name}": callback}: Callsinstance.bind(**on_event)during widget creation.
Example:
1
2
3
4
5
sk.External(enable_events = True, on_event = 'width')
sk.External(enable_events = True, on_event = 'on_touch_down')
sk.External(enable_events = True, on_event = ['width','height','pos'])
sk.External(enable_events = True, on_event = {"size": lambda ins,v: print("size =",v)})
do_dot_subevent: bool
Adds a “.” to describe the event when triggering the event_manager.
True: The event identifier isstr(widget.id)+".{event_name}".
False: The event identifier is the same as the widget’sk/id.
Default is
False.
bcolor, lcolor and any other valid properties with color in their name can be specified with sequence or str during creation:
sequence: [float, float, float, float]: Sequence(list or tuple)of 4floatnumbers (0.0-1.0). Same asKivy.
str: "{hex_string}": Hex color in the format"#000000".
str: "{named_color}": Name of a color from the List of Named Colors supported bySimpleKivy.
bcolor: Background color of the widget.
lcolor: Line color of the widget.
lwidth: number (float or int)
Width of the widget’s border line.
Returns
External widget created dynamically.
Kivy Bases
BoxLayout
ewin (Simplekivy.Native.ExternalWindow): Manages changes on the box and keeps the external program on top of it.
This page only details the new or modified features. All other parameters inherit from the base Kivy widgets and can be found in the official Kivy documentation.
Events
on_enter(): Fired when the mouse enters the widget.
on_leave(): Fired when the mouse leaves the widget.