Kivy 简明教程
Kivy - Console
Kivy 中的控制台工具类似于检查器工具,它还提供了一个附加功能,即借助其加载项架构添加按钮和面板。与检查器类似,“kivy.modules.console”模块具有命令行界面,还提供了一个用于以编程方式使用该工具的 API。
在命令行用法中,使用 Python 可执行文件的“-m”选项加载模块。
python main.py -m console
要激活 Kivy 控制台,请使用 create_console() 函数从控制台模块调用该函数,并使用窗口和应用程序对象作为参数。您需要将以下の语句放在应用程序类的 build() 方法中。
from kivy.modules import console
class Demo(App):
def build(self):
button = Button(text="Test")
console.create_console(Window, self)
return button
假设您使用“slider.py”程序开发了一个 Kivy 应用程序,该程序具有以下界面。
该应用程序具有三个滑块控件,用于帮助更改上方文本的颜色。在 slider.py 文件的 build() 方法中添加对 create_console() 函数的调用(如上所述),并运行它。首先,将看到上述界面。按 ctrl+E 激活控制台工具。
定义了以下按键组合——
-
"Ctrl + e" —— 切换控制台
-
"Escape" −取消控件查找,然后隐藏检查器视图
-
"Up" −选择父控件
-
"Down" - 选择当前所选控件的第一个子控件
-
"Left" −选择前面的兄弟姐妹控件
-
"Right" −选择后面的兄弟姐妹控件
当控制台工具被激活时,它在中间显示一个带有「选择」、「属性」和「树」按钮的栏,右侧有一个 FPS 按钮。
点击「树」按钮,您将获得界面的控件树。从树中选择「Slider」控件。
现在,按下「属性」按钮。控件所有属性的可滚动列表将可用。
向下滚动到值属性,双击以获取一个可编辑的框,其中显示了当前值,您可以将其更改。
按 ESC 移除控制台。您应该从控制台中看到您设置好值的「Slider」。
Addons
控制台工具的一个重要功能是加载项架构,这允许您向其添加按钮和面板。默认情况下激活的加载项有−
-
ConsoleAddonFps - 在右上角显示 FPS。
-
ConsoleAddonSelect - 激活选择模式。
-
ConsoleAddonBreadcrumb - 在底部显示当前控件的层次结构。
-
ConsoleAddonWidgetTree - 面板以显示应用程序的控件树。
-
ConsoleAddonWidgetPanel - 面板以显示所选控件的属性。
要激活加载项,必须在调用 create_console 之前将其添加到 Console.addons。
About Addon
让我们给控制台工具添加一个「关于」按钮。它在中间的控制台工具工作区中显示包括其 ID 在内的对象描述。
在 App 类定义之前,在 slider.py 中添加以下代码 −
from kivy.modules.console import Console, ConsoleAddon, ConsoleLabel
class ConsoleAddonAbout(ConsoleAddon):
def init(self):
self.console.add_panel(
"About", self.panel_activate,
self.panel_deactivate
)
def panel_activate(self):
self.console.bind(widget=self.update_content)
self.update_content()
def panel_deactivate(self):
self.console.unbind(widget=self.update_content)
def deactivate(self):
self.panel_deactivate()
def update_content(self, *args):
widget = self.console.widget
if not widget:
return
text = "Selected widget is: {!r}".format(widget)
lbl = ConsoleLabel(text=text)
self.console.set_content(lbl)
Console.register_addon(ConsoleAddonAbout)
如果您再次运行 slider.py 脚本,您会在 Tree 按钮旁边看到已添加的 About 按钮。在小部件树中找到 Slider 并单击 About 按钮可显示该滑动小部件的 object ID。