2012-06-30 106 views
2

我想在我的kivy程序中使用簡單的網格佈局,但我不適合使用示例;如何在Kivy中使用GridLayout?

這裏是我的代碼:

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() 

最後我看不到任何結果(只是單一的白色窗口,沒有任何電網)

感謝您的關注

+4

您沒有將答案標記爲已接受或回答任何問題,請給出一些反饋! – Tshirtman

回答

9

你錯過了創造初始應用程序類,並運行它:

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(),您將brea k應用程序循環。如果你想做交互式編碼,看看kivy.interactive模塊。