我真的不知道怎么问这个问题,所以这是最有意义的。我有一个基于控制台的python程序,它模拟燃料储存和运输系统。(
schematic drawing
)
这个
current program
没有什么特别的,只是使用阀门和泵实例来查看阀门是否打开/关闭,泵是否打开/关闭,以及设备之间的相关流量和压力。
我想制作一个模拟人机界面的Kivy程序。在这种情况下,阀门旁边的简单切换按钮显示阀门是打开还是关闭,以及泵是打开还是关闭。
我学习过Kivy的教程,读过一本Kivy的书,但他们没有回答我的问题,因为他们更关注的是移动游戏而不是桌面应用程序。我已经知道如何将按钮添加到示意图中,但我不知道如何使.py/.kv文件与我现有的python代码交互。如果可能的话,我不想重写我现有的代码。
下面是到目前为止我所拥有的;它所做的只是在阀门1下面做一个切换按钮。按下时,按钮将“按下”一词发送到控制台输出。
HMI.Py
import kivy
kivy.require("1.10.0")
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config
from kivy.uix.togglebutton import ToggleButton, ToggleButtonBehavior
Config.set("graphics", "width", "1062")
Config.set("graphics", "height", "849")
class HMI(FloatLayout):
pass
class HMIApp(App):
def build(self):
return HMI()
if __name__ == "__main__":
HMIApp().run()
HMI.KV
<HMIButton@ToggleButton>:
color: 1, 1, 1, 1
size_hint: (.01, .01)
<HMI>:
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: "fuel_schematic.png"
HMIButton:
id: _valve_1
text: "1"
pos: 360, 285
on_press: print("pressed")
我的主要问题是,在virtualpc.models.fuelfarm.components.gate1和virtualpc.models.fuelfarm.functionality.gate1_open()[and close()]中使用阀门实例并将它们与我添加到kivy代码中的切换按钮相关联的最佳方法是什么?
我可以简单地导入这些模块吗,还是必须将它们重写到kivy程序中?