我想在我的kivy程序中使用简单的网格布局,但我不适合示例;
这是我的代码:
import kivy
from kivy.uix.gridlayout import GridLayout
from kivy.app import App
from kivy.uix.button import Button
layout = GridLayout(cols=2, row_force_default=True, row_default_height=40)
layout.add_widget(Button(text='Hello 1', size_hint_x=None, width=100))
layout.add_widget(Button(text='World 1'))
layout.add_widget(Button(text='Hello 2', size_hint_x=None, width=100))
layout.add_widget(Button(text='World 2'))
raw_input()
最后我看不到任何结果(只有一个白色的窗口,没有任何网格)
感谢您的关注
答案 0 :(得分:10)
您错过了创建初始App类并运行它:
import kivy
from kivy.uix.gridlayout import GridLayout
from kivy.app import App
from kivy.uix.button import Button
class MyApp(App):
def build(self):
layout = GridLayout(cols=2, row_force_default=True, row_default_height=40)
layout.add_widget(Button(text='Hello 1', size_hint_x=None, width=100))
layout.add_widget(Button(text='World 1'))
layout.add_widget(Button(text='Hello 2', size_hint_x=None, width=100))
layout.add_widget(Button(text='World 2'))
return layout
MyApp().run()
如果使用raw_input(),则会破坏应用程序循环。如果您想进行交互式编码,请查看kivy.interactive模块。
答案 1 :(得分:-1)
如果您将使用python3 raw_input函数将不起作用