Python中文
首页
教程
问答
标签
搜索
登录
注册
为什么使用screenmanager的正确的.kv代码在我将其放入外部.kv文件时不起作用?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>完美功能代码:</p> <pre><code>from kivy.app import App from kivy.lang import Builder from kivy.uix.screenmanager import ScreenManager, Screen, NoTransition Builder.load_string(""" #:kivy 1.8 <StartScreen>: BoxLayout: Label: text: "Press Button to" Button: text: "Start Server" on_press: root.start_server() root.manager.current='stopscreen' <StopScreen>: BoxLayout: Label: text: "Press Button to" Button: text: "Stop Server" on_press: root.stop_server() root.manager.current='startscreen' """) class StartScreen(Screen): def start_server(self): print('Server started.') class StopScreen(Screen): def stop_server(self): print('Server stopped.') sm = ScreenManager(transition=NoTransition()) sm.add_widget(StartScreen(name='startscreen')) sm.add_widget(StopScreen(name='stopscreen')) class MySpecialApp(App): def build(self): return sm MySpecialApp().run() </code></pre> <p>现在,根据Kivy文档,应该可以将代码开头加载的字符串放入外部文件中,我的特殊电压 一旦我这么做,我的屏幕就空白了,没有按钮,没有文本。为什么是这样,我怎么才能让它发挥作用?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>当应用程序启动时,<code>myspecial.kv</code>文件会被加载,但在此之前您需要初始化小部件。在运行<code>sm = ScreenManager(transition=NoTransition())</code>时,kv尚未加载,因此屏幕管理器没有预期的样式。在</p> <p>您应该在<code>build</code>方法中创建小部件。kv文件是在这个方法运行之前加载的,所以一切正常。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
3 回答
如何在乒乓球游戏中阻止球
1 回答
如何在乘法和模中不乘空间?
3 回答
如何在乘法和除以2个不同的数字之间进行交换?
9 回答
如何在也是数据一部分的单个字符上拆分大字符串
8 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
2 回答
如何在事件wxWidgets中传递自定义数据
1 回答
如何在事件中使用lambda i=i?
6 回答
如何在事件中心只接收最近的数据
7 回答
如何在事件发生之前保持云函数运行?
3 回答
如何在事件发生后使页面重定向到同一页面
8 回答
如何在事件回调之间保持python生成器的状态
2 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
10 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
8 回答
如何在事件处理程序中访问外部对象?
8 回答
如何在事件循环中将协程打包为正常函数?
3 回答
如何在事件循环之外运行协同程序?
6 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
5 回答
如何在事件文件中只保留一份摘要?
4 回答
如何在事件模板中添加事件
3 回答