【发布时间】:2021-06-03 02:14:54
【问题描述】:
我正在 Windows 上使用 Kivy 编写一个非常简单的应用程序,它只包含一堆切换按钮,并且希望能够轻松自定义所有按钮的颜色。目前它是一个单独的 python 文件,如果可能的话,我想将所有代码保留在该文件中。
如果我更改 Kivy 安装文件夹 (C:\Users\-\AppData\Local\Programs\Python\Python39\Lib\site-packages\kivy\data\images) 中的 defaulttheme-0.png,我的应用程序将使用该文件并显示图像中定义的颜色。
我想知道如何在不更改 Kivy 安装的情况下让我的应用使用图像的另一个副本作为其主题。
这是一个非常简单的一次性应用程序,用于通过串行与 Arduino 进行通信并控制几个继电器。到目前为止,我有这么多,而且一切都在按我的意愿工作:
import serial
from kivy.app import App
from kivy.uix.togglebutton import ToggleButton
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
Window.size = (400, 100)
class R(App):
def build(self):
def pstate(PBTN,state):
# serial communication
print("P "+PBTN.state)
def lstate(LBTN,state):
# serial communication
print("L "+LBTN.state)
PBTN = ToggleButton(text = 'P',
font_size=20,
state='down')
PBTN.bind(state=pstate)
LBTN = ToggleButton(text = 'L',
font_size=20,
state='down')
LBTN.bind(state=lstate)
b = BoxLayout(orientation='horizontal')
b.add_widget(PBTN)
b.add_widget(LBTN)
return b
if __name__ == "__main__":
R().run()
【问题讨论】: