I wanted to make a kivy tutorial, but I failed in step one. - bert - Aug-08-2022
I'm new to python, but am reasonably in c I wanted to do this kivy tutorial "https://www.youtube.com/watch?v=l8Imtec4ReQ&t=1154s" and followed it to the letter. I installed kivy with pip and listed the packages and all was well.
Then I wrote four lines of code in main.py and got a black window which signaled that all was ok, but I did get some warnings. Then I added a second file thelab. kv, and tried to add a button. And again, I got a black window, but no button.
I'm working on a computer in Linux mint 21 with pycharm and have the following files:
Main. py:
from kivy.app import App
from kivy.uix.widget import Widget
class MainWidget(Widget):
pass
class TheLabApp(App):
pass
TheLabApp().run() The Lab. kv
<MainWidget>:
Button:
text: "Hello" and the messages are:
Error: home/bert/PycharmProjects/kivi-thelab/venv/bin/python /home/bert/PycharmProjects/kivi-thelab/main.py
[INFO ] [Logger ] Record log in /home/bert/.kivy/logs/kivy_22-08-08_0.txt
[INFO ] [Kivy ] v2.1.0
[INFO ] [Kivy ] Installed at "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/__init__.py"
[INFO ] [Python ] v3.9.9 (main, Nov 10 2011, 15:00:00)
[GCC 11.3.0]
[INFO ] [Python ] Interpreter at "/home/bert/PycharmProjects/kivi-thelab/venv/bin/python"
[INFO ] [Logger ] Purge log fired. Processing...
[INFO ] [Logger ] Purge finished!
[INFO ] [Factory ] 189 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
--- Logging error ---
Traceback (most recent call last):
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/providers/__init__.py", line 41, in <module>
import kivy.input.providers.mtdev
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/providers/mtdev.py", line 94, in <module>
from kivy.lib.mtdev import Device, \
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/lib/mtdev.py", line 30, in <module>
libmtdev = cdll.LoadLibrary('libmtdev.so.1')
File "/usr/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libmtdev.so.1: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/logging/__init__.py", line 1083, in emit
msg = self.format(record)
File "/usr/lib/python3.9/logging/__init__.py", line 927, in format
return fmt.format(record)
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/logger.py", line 291, in format
record = copy.deepcopy(record)
File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.9/copy.py", line 210, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
File "/usr/lib/python3.9/copy.py", line 210, in <listcomp>
y = [deepcopy(a, memo) for a in x]
File "/usr/lib/python3.9/copy.py", line 161, in deepcopy
rv = reductor(4)
TypeError: cannot pickle 'traceback' object
Call stack:
File "/home/bert/PycharmProjects/kivi-thelab/main.py", line 13, in <module>
TheLabApp().run()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/app.py", line 954, in run
self._run_prepare()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/app.py", line 924, in _run_prepare
root = self.build()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/app.py", line 597, in build
return Widget()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/uix/widget.py", line 341, in __init__
EventLoop.ensure_window()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/base.py", line 136, in ensure_window
import kivy.core.window # NOQA
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/core/window/__init__.py", line 2460, in <module>
Window = core_select_lib('window', window_impl, True)
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
mod = importlib.__import__(name='{2}.{0}.{1}'.format(
File "<frozen importlib._bootstrap>", line 1109, in __import__
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/core/window/window_sdl2.py", line 34, in <module>
from kivy.input.provider import MotionEventProvider
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/__init__.py", line 30, in <module>
from kivy.input.postproc import kivy_postproc_modules
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/postproc/__init__.py", line 15, in <module>
from kivy.input.postproc.calibration import InputPostprocCalibration
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/postproc/calibration.py", line 51, in <module>
from kivy.input import providers
File "<frozen importlib._bootstrap>", line 1058, in _handle_fromlist
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/providers/__init__.py", line 44, in <module>
Logger.exception(err)
Message: 'Input: MTDev is not supported by your version of linux'
Arguments: ()
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] Backend used <sdl2>
[INFO ] [GL ] OpenGL version <b'4.6 (Compatibility Profile) Mesa 21.3.8 (git-813ee839be)'>
[INFO ] [GL ] OpenGL vendor <b'Intel'>
[INFO ] [GL ] OpenGL renderer <b'Mesa Intel(R) UHD Graphics 620 (WHL GT2)'>
[INFO ] [GL ] OpenGL parsed version: 4, 6
[INFO ] [GL ] Shading version <b'4.60'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [ProbeSysfs ] device match: /dev/input/event8
[INFO ] [ProbeSysfs ] Unable to find provider mtdev
[INFO ] [ProbeSysfs ] fallback on hidinput
[INFO ] [HIDInput ] Read event from </dev/input/event8>
[INFO ] [ProbeSysfs ] device match: /dev/input/event10
[INFO ] [ProbeSysfs ] Unable to find provider mtdev
[INFO ] [ProbeSysfs ] fallback on hidinput
[INFO ] [HIDInput ] Read event from </dev/input/event10>
[INFO ] [Base ] Start application main loop
Exception in thread HIDInputMotionEventProvider:
Exception in thread HIDInputMotionEventProviderException in thread HIDInputMotionEventProvider:
Traceback (most recent call last):
Traceback (most recent call last):
File "/usr/lib/python3.9/threading.py", line 973, in _bootstrap_inner
File "/usr/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/lib/python3.9/threading.py", line 910, in run
self.run()
File "/usr/lib/python3.9/threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/providers/hidinput.py", line 663, in _thread_run
self._target(*self._args, **self._kwargs)
self._target(*self._args, **self._kwargs) fd = open(input_fn, 'rb')
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/providers/hidinput.py", line 663, in _thread_run
PermissionError: [Errno 13] Permission denied: '/dev/input/event8'
fd = open(input_fn, 'rb')
PermissionError: [Errno 13] Permission denied: '/dev/input/event10'
[INFO ] [Base ] Leaving application in progress...
Process finished with exit code 0
and I hope that someone can help me overcome this initial obstacle so that I can go further.
regards bert Small update, I did a chmod +u on: '/dev/input/event8' and '/dev/input/event10'
And got no PermissionErrors anymore, but still no button
RE: I wanted to make a kivy tutorial, but I failed in step one. - DeaD_EyE - Aug-08-2022
Run sudo apt-get install libmtdev-dev and try again.
This library is for multitouch.
Your user should also be in group input to have the permission to access /dev/input/event* .
Maybe this is a fallback to a different backend (evdev) to gain access, if libmtdev were missing.
To check the groups:
cnc@cnc:~ $ id
uid=1001(cnc) gid=1001(cnc) Gruppen=1001(cnc),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(input),107(render),109(netdev),117(lpadmin),997(gpio),998(i2c),999(spi) Adding the user to group input:
usermod -a -G input username https://linux.die.net/man/8/usermod
RE: I wanted to make a kivy tutorial, but I failed in step one. - bert - Aug-08-2022
Thank you for replying dead eye.
I did what you asked, installed libmtdev-dev and made me part of the input group. But this didn't solve my problem, I still got a black window without a button.
The message at this moment are:
Error: /home/bert/PycharmProjects/kivi-thelab/venv/bin/python /home/bert/PycharmProjects/kivi-thelab/main.py
[INFO ] [Logger ] Record log in /home/bert/.kivy/logs/kivy_22-08-08_8.txt
[INFO ] [Kivy ] v2.1.0
[INFO ] [Kivy ] Installed at "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/__init__.py"
[INFO ] [Python ] v3.9.9 (main, Nov 10 2011, 15:00:00)
[GCC 11.3.0]
[INFO ] [Python ] Interpreter at "/home/bert/PycharmProjects/kivi-thelab/venv/bin/python"
[INFO ] [Logger ] Purge log fired. Processing...
[INFO ] [Logger ] Purge finished!
[INFO ] [Factory ] 189 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
--- Logging error ---
Traceback (most recent call last):
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/providers/__init__.py", line 41, in <module>
import kivy.input.providers.mtdev
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/providers/mtdev.py", line 94, in <module>
from kivy.lib.mtdev import Device, \
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/lib/mtdev.py", line 30, in <module>
libmtdev = cdll.LoadLibrary('libmtdev.so.1')
File "/usr/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libmtdev.so.1: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/logging/__init__.py", line 1083, in emit
msg = self.format(record)
File "/usr/lib/python3.9/logging/__init__.py", line 927, in format
return fmt.format(record)
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/logger.py", line 291, in format
record = copy.deepcopy(record)
File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.9/copy.py", line 210, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
File "/usr/lib/python3.9/copy.py", line 210, in <listcomp>
y = [deepcopy(a, memo) for a in x]
File "/usr/lib/python3.9/copy.py", line 161, in deepcopy
rv = reductor(4)
TypeError: cannot pickle 'traceback' object
Call stack:
File "/home/bert/PycharmProjects/kivi-thelab/main.py", line 13, in <module>
TheLabApp().run()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/app.py", line 954, in run
self._run_prepare()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/app.py", line 924, in _run_prepare
root = self.build()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/app.py", line 597, in build
return Widget()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/uix/widget.py", line 341, in __init__
EventLoop.ensure_window()
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/base.py", line 136, in ensure_window
import kivy.core.window # NOQA
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/core/window/__init__.py", line 2460, in <module>
Window = core_select_lib('window', window_impl, True)
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
mod = importlib.__import__(name='{2}.{0}.{1}'.format(
File "<frozen importlib._bootstrap>", line 1109, in __import__
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/core/window/window_sdl2.py", line 34, in <module>
from kivy.input.provider import MotionEventProvider
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/__init__.py", line 30, in <module>
from kivy.input.postproc import kivy_postproc_modules
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/postproc/__init__.py", line 15, in <module>
from kivy.input.postproc.calibration import InputPostprocCalibration
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/postproc/calibration.py", line 51, in <module>
from kivy.input import providers
File "<frozen importlib._bootstrap>", line 1058, in _handle_fromlist
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/bert/PycharmProjects/kivi-thelab/venv/lib/python3.9/site-packages/kivy/input/providers/__init__.py", line 44, in <module>
Logger.exception(err)
Message: 'Input: MTDev is not supported by your version of linux'
Arguments: ()
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] Backend used <sdl2>
[INFO ] [GL ] OpenGL version <b'4.6 (Compatibility Profile) Mesa 21.3.8 (git-813ee839be)'>
[INFO ] [GL ] OpenGL vendor <b'Intel'>
[INFO ] [GL ] OpenGL renderer <b'Mesa Intel(R) UHD Graphics 620 (WHL GT2)'>
[INFO ] [GL ] OpenGL parsed version: 4, 6
[INFO ] [GL ] Shading version <b'4.60'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [ProbeSysfs ] device match: /dev/input/event8
[INFO ] [ProbeSysfs ] Unable to find provider mtdev
[INFO ] [ProbeSysfs ] fallback on hidinput
[INFO ] [HIDInput ] Read event from </dev/input/event8>
[INFO ] [ProbeSysfs ] device match: /dev/input/event10
[INFO ] [ProbeSysfs ] Unable to find provider mtdev
[INFO ] [ProbeSysfs ] fallback on hidinput
[INFO ] [HIDInput ] Read event from </dev/input/event10>
[INFO ] [Base ] Start application main loop
[INFO ] [HIDMotionEvent] using <SYNA3081:00 06CB:826F Touchpad >
[INFO ] [HIDMotionEvent] <SYNA3081:00 06CB:826F Touchpad > range ABS X position is 0 - 1332
[INFO ] [HIDMotionEvent] <SYNA3081:00 06CB:826F Touchpad > range ABS Y position is 0 - 828
[INFO ] [HIDMotionEvent] using <SynPS/2 Synaptics TouchPad >
[INFO ] [HIDMotionEvent] <SYNA3081:00 06CB:826F Touchpad > range position X is 0 - 1332
[INFO ] [HIDMotionEvent] <SynPS/2 Synaptics TouchPad > range ABS X position is 1294 - 5646
[INFO ] [HIDMotionEvent] <SYNA3081:00 06CB:826F Touchpad > range position Y is 0 - 828
[INFO ] [HIDMotionEvent] <SynPS/2 Synaptics TouchPad > range ABS Y position is 1178 - 4676
[INFO ] [HIDMotionEvent] <SynPS/2 Synaptics TouchPad > range ABS pressure is 0 - 255
[INFO ] [HIDMotionEvent] <SynPS/2 Synaptics TouchPad > range position X is 1294 - 5646
[INFO ] [HIDMotionEvent] <SynPS/2 Synaptics TouchPad > range position Y is 1178 - 4676
[INFO ] [HIDMotionEvent] <SynPS/2 Synaptics TouchPad > range pressure is 0 - 255
[INFO ] [Base ] Leaving application in progress...
Process finished with exit code 0
Beside this I was wondering, main.py and The Lab.kv are in the same folder, but there is no TheLab.kv mentioned in the main.py, don't I need to tell main.py where it can find stuff, (In c: #include "The Lab.kv")
Regards Bert
RE: I wanted to make a kivy tutorial, but I failed in step one. - bert - Aug-09-2022
Major update.
Went online and looked around me, found somewhere that running pycharm in a flatpack might give trouble, so I uninstalled pycharm and installed it again with a snap.
No more error messages, yet no button.
So I looked at another tutorial, nl. https://www.youtube.com/watch?v=YDp73WjNISc&t=88s in which all the widgets were placed in the main.py and a button appeared yeah! (But the callback function for the button didn't work (o glorious programming!))
I still want to do that first tutorial, so I have to figure out what I dit rong with that.
regards bert
RE: I wanted to make a kivy tutorial, but I failed in step one. - Larz60+ - Aug-09-2022
Please show your code.
Did you bind the button?
RE: I wanted to make a kivy tutorial, but I failed in step one. - joe_momma - Aug-15-2022
You Kivy file has the class of:
Quote:<MainWidget>:
Your App class TheLabApp is pass- nothing is scripted to activate the mainwidget class.
To link your Kivy file to the python script you may need to try different names. I'm using linux and couldn't get an output with The_Lab.kv what worked for me is thelabapp.kv
The best way to start out is using the builder and the kivy script is string in the python script.
thelabapp.kv:
#:kivy 1.10.1
<MainWidget>:
count: 0
the_label: _label_main
Button:
text: "Hello world"
on_press: root.click_btn()
Label:
id: _label_main
text: 'today is Wednesday' Main.py:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
class MainWidget(BoxLayout):
def click_btn(self):
self.count += 1
text_= f'you have press the btn {self.count} times'
self.the_label.text= text_
class TheLabApp(App):
def build(self):
return MainWidget()
if __name__ == '__main__':
TheLabApp().run()
|