タイトルに記載されているように - 私は立ち往生しています。私はコードを使って遊んでいて、ScreenManagerとPopupを別々にしておく限り、すべて動く。一度組み合わされると、彼らは協力を拒否します。とにかく、ここに私が持っている問題を示す簡単なアプリです。KivyのScreenManagerとPopupsは一緒に働きたくない
from kivy.lang import Builder
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.popup import Popup
from kivy.uix.screenmanager import Screen, ScreenManager
class First(GridLayout,Screen):
def show_popup(self):
Popp().open()
pass
class Second(Screen):
pass
class Popp(Popup):
pass
class ScreenManagement(ScreenManager):
pass
app = Builder.load_file("main.kv")
class MainApp(App):
def build(self):
return app
if __name__ == "__main__":
MainApp().run()
そしてmain.kvファイル
ScreenManagement:
First:
Second:
<First>:
name:"First"
rows: 2
Button:
text: "FirstButton"
on_release: app.root.current = "Second"
Button:
text: "Show popup"
on_release: root.show_popup()
<Second>:
name:"Second"
Button:
text: "BUTTON"
on_release: app.root.current = "First"
<Popp>:
title: "testing"
text: "Hello world"
size_hint: None,None
size: 400,400
auto_dismiss: False
Button:
text: "Okay"
on_press: root.dismiss()
アプリケーションを開始し、第一及び第二の画面が作業しているが、最大のポップアップを取得しようとしたとき、私はで終わる:
kivy.uix.popup.PopupException: Popup can have only one widget as content
何とか画面ですポップの中のウィジェットとして見られる?それとも、私はひどくKivyドキュメントを誤解していますか?
それがdownvotedされるのはなぜ?誰でも私を説明できますか?私はそれから学びたいと思います。 – picibucor