2014-03-07 99 views
5

我想在python中使用kivy彈出窗口中的多個項目。我想 喜歡找出如何使這項工作。我不確定它是否與 這個事實有關,腳本在我的手機上,而不是用於電腦。 這是一個小示例腳本,我要求您幫助將來參考的工作。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)) 

所以你可以看到它是在彈出窗口的一個內容中的兩個對象。我相信這是可能的 ,因爲我已經在app store中的kivy應用程序上看到它,但不知道如何自己做。

+0

您是否嘗試過將內容參數設置爲元組?你發佈的代碼是一個語法錯誤,所以即時猜測你有,但不知道你的問題 –

+0

我試圖用錯誤消息「元組」對象沒有屬性'create_property' – Kogan007

回答

6

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)) 
+0

感謝馬特!這非常有幫助 – Kogan007