【问题标题】:How can I use GridLayout in Kivy?如何在 Kivy 中使用 GridLayout?
【发布时间】:2012-06-30 08:31:33
【问题描述】:

我想在我的 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()

最后我看不到任何结果(只有一个白色窗口,没有任何网格)

感谢您的关注

【问题讨论】:

  • 您没有将答案标记为已接受或回答任何问题,请提供一些反馈!

标签: python kivy


【解决方案1】:

您错过了创建初始 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 模块。

【讨论】:

    【解决方案2】:

    如果你将使用 python3 raw_input 函数将不起作用

    【讨论】:

    • 你的答案应该是评论,我知道你没有足够的声誉来评论
    猜你喜欢
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 2014-12-28
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    相关资源
    最近更新 更多