Skip to content

Instantly share code, notes, and snippets.

@kived
kived / scrollstop.py
Last active August 29, 2015 14:15
Kivy: on_scroll_stop
import kivy
kivy.require('1.8.1')
from kivy.app import App
from kivy.lang import Builder
root = Builder.load_string('''
<Button>:
size_hint_y: None
height: sp(64)
@kived
kived / bglabel.kv
Created February 4, 2015 17:59
Kivy: Label with background
<BackgroundLabel>:
background_color: 0, 0, 0, 0
canvas.before:
Color:
rgba: self.background_color
Rectangle:
pos: self.pos
size: self.size
@kived
kived / wtf.py
Created February 3, 2015 21:50
wtf
def func(which, *args):
def a(): pass
def b(): pass
def c(): pass
return locals()[which](*args)
@kived
kived / shadercleartest.py
Last active August 29, 2015 14:14
Kivy: ScreenManager with custom transition clear color
from kivy.app import App
from kivy.lang import Builder
root = Builder.load_string('''
#:import WipeTransition kivy.uix.screenmanager.WipeTransition
ScreenManager:
transition: WipeTransition(clearcolor=(1, 1, 1, 1))
Screen:
name: 's1'
Button:
@kived
kived / sharetest.py
Created January 28, 2015 22:54
Kivy: start share intent chooser
from kivy.app import App
from kivy.lang import Builder
from jnius import autoclass
PythonActivity = autoclass('org.renpy.android.PythonActivity')
Intent = autoclass('android.content.Intent')
String = autoclass('java.lang.String')
root = Builder.load_string('''
@kived
kived / main.py
Last active August 29, 2015 14:13
Kivy: separation of UI and App
from kivy.app import App
from kivy.properties import StringProperty
class TestApp(App):
appabc = StringProperty('')
def build(self):
self.bind(appabc=self.root.setter('abc'))
self.appabc = 'hello'
@kived
kived / window-titleicon.patch
Created January 12, 2015 23:31
Kivy: fix title and icon flash
diff --git a/kivy/app.py b/kivy/app.py
index db7e37c..f25c341 100644
--- a/kivy/app.py
+++ b/kivy/app.py
@@ -803,8 +803,6 @@ class App(EventDispatcher):
if not isinstance(self.root, Widget):
Logger.critical('App.root must be an _instance_ of Widget')
raise Exception('Invalid instance in App.root')
- from kivy.core.window import Window
- Window.add_widget(self.root)
#:import F kivy.factory.Factory
<TestView@ModalView>:
size_hint: .5, .5
ScrollView:
size_hint: .9, .9
pos_hint: {'center': (.5, .5)}
GridLayout:
cols: 10
size_hint_y: None
@kived
kived / focustext.py
Last active August 29, 2015 14:12
Kivy: TextInput focus selection
import kivy
kivy.require('1.8.1')
from kivy.app import App
from kivy.lang import Builder
from kivy.clock import Clock
root = Builder.load_string('''
#:import Clock kivy.clock.Clock
FloatLayout:
@kived
kived / stacktest.py
Created December 30, 2014 19:29
Kivy: StackLayout test case
#import pydevd; pydevd.settrace('localhost', port=51514, suspend=False)
import sys
orientation = 'lr-tb'
if 'vertical' in sys.argv:
sys.argv.remove('vertical')
orientation = 'tb-lr'
from kivy.app import App
from kivy.uix.button import Button