Skip to content

Instantly share code, notes, and snippets.

View tshirtman's full-sized avatar

Gabriel Pettier tshirtman

View GitHub Profile
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.recycleview import RecycleView
class RvForScreen3(RecycleView):
def __init__(self, **kwargs):
super(RvForScreen3, self).__init__(**kwargs)
self.data = [{'text': str(x)} for x in range(10)]
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import NumericProperty
from kivy.network.urlrequest import UrlRequest
kv = """
#:import itertools itertools
<Test>:
orientation: 'vertical'
RecycleView:
@tshirtman
tshirtman / fixed_rv.py
Last active April 6, 2021 17:40
Example of a RecycleView that keeps the current view position when new data is added, unless we are at the very bottom, in which case we follow the scroll.
from random import sample, randint
from string import ascii_lowercase
from time import asctime
from kivy.app import App
from kivy.factory import Factory
from kivy.lang import Builder
from kivy.properties import NumericProperty, ListProperty
from kivy.clock import Clock
from kivy.app import App
from kivy.lang import Builder
KV = '''
#:import F kivy.factory.Factory
<MiniPopup@Popup>:
title: 'mini form!'
size_hint: None, None
size:
from kivy.app import App
from kivy.lang import Builder
from kivy.clock import Clock
from kivy.properties import ListProperty
from kivy.animation import Animation
KV = '''
#:import RGBA kivy.utils.rgba
<ImageButton@ButtonBehavior+Image>:
@tshirtman
tshirtman / kivy_pdf.py
Last active November 16, 2023 13:34
a very limited pdf viewer implemented directly with kivy widgets, using pdfminer to get the content
# adapted from https://github.com/dpapathanasiou/pdfminer-layout-scanner
from os.path import exists
from tempfile import mkdtemp, mkstemp
from shutil import rmtree
from binascii import b2a_hex
from os import write, close
from threading import Thread
from pdfminer.pdfpage import PDFPage
@tshirtman
tshirtman / gist:791495591bd3a7a3f8807211b220233b
Last active May 2, 2021 18:52
windows specific whole application opacity management
def _get_opacity(self):
if platform == 'win':
try:
return winxpgui.GetLayeredWindowAttributes(HWND)[1] / 255.
except Exception as e:
Logger.error(
'failed to get opacity: {}'.format(e))
else:
Logger.warning(
@tshirtman
tshirtman / test_anim.py
Last active April 5, 2019 02:45
A simple example of animating a graphical instruction of a widget from a keyboard event.
from kivy.app import App
from kivy.animation import Animation
from kivy.lang import Builder
from kivy.properties import NumericProperty
from kivy.core.window import Window
from kivy.uix.boxlayout import BoxLayout
KV = '''
FloatLayout:
@tshirtman
tshirtman / swipe.py
Last active November 26, 2019 23:02
from kivy.lang import Builder
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.properties import ListProperty
from kivy.animation import Animation
KV = '''
#:import C kivy.utils.get_color_from_hex
from kivy.uix.widget import Widget
from kivy.lang import Builder
from kivy.base import runTouchApp
from kivy.properties import ListProperty, StringProperty
from kivy.vector import Vector
KV = '''
#:import C kivy.utils.get_color_from_hex
#:import R kivy.resources.resource_find