【问题标题】:Kivy: Multiple items in a popup wont workKivy:弹出窗口中的多个项目不起作用
【发布时间】:2014-04-09 23:06:52
【问题描述】:

我正在尝试在 python 中的 kivy 弹出窗口中使用多个项目。我会 想了解如何使这项工作。我不确定这是否与事实有关 该脚本在我的手机上,而不是为计算机制作的。 这是一个小示例脚本,我请您帮助制作以供将来参考。

import kivy
from kivy.lang import Builder
from kivy.uix.popup import Popup
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label

popup = Popup(title='Test popup',
    content=Label(text='Hello world'),
            TextInput(text='Hi'),        #Here is what I am trying to make work
    size_hint=(None, None), size=(400, 400))

所以你可以看到它是弹出窗口的一个内容中的两个对象。我确信这是可能的 因为我在appstore的kivy应用上看到过,但不知道自己怎么做。

【问题讨论】:

  • 您是否尝试过将内容参数设为元组?您发布的代码是语法错误,所以我猜您有但不知道您的问题
  • 我尝试用错误消息'tuple' object has no attribute 'create_property'制作一个元组

标签: python popup kivy


【解决方案1】:

Popup 的内容只能是单个小部件。您不能像尝试那样添加两个小部件。

要完成您想要做的事情,您必须将标签和文本输入添加到例如一个 boxlayout,然后将 boxlayout 添加到内容中。这是一个应该有效的示例:

from kivy.uix.popup import Popup
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label

box = BoxLayout()
box.add_widget(Label(text='Hello world'))
box.add_widget(TextInput(text='Hi'))

popup = Popup(title='Test popup', content=box, size_hint=(None, None), size=(400, 400))

【讨论】:

  • 谢谢马特!这很有帮助
【解决方案2】:

您可以使用 kv 文件来实现此目的。 : 方向:'垂直' 标签: 文字:“你好世界” 按钮: 文字:“按我”

在python文件中: def openPop(自我): self.pop = Popup(title='Test',content=Content(),auto_dismiss=True) self.pop.open()

【讨论】:

    【解决方案3】:

    你需要这样做:

        def __init__(self, **kwargs):
            super().__init__(**kwargs)
            self.super_box = BoxLayout(orientation = "vertical")
            self.pn = TextInput(text = "projectname") # TODO: Project name input
            self.super_box.add_widget(self.pn)
            """Create button: Creates a new project repo"""
            cb = Button(text="Create")
            cb.bind(on_release = lambda x: print("a new project repo gets created"))
            self.super_box.add_widget(cb)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 2019-04-14
      • 2020-10-12
      • 2020-06-16
      • 1970-01-01
      • 2016-10-03
      • 1970-01-01
      相关资源
      最近更新 更多