注:私はプログラマーではなく、私が使用すべき正確な用語を知らない。これは基本的なプログラムであり、リテラルの「kivyスクリーン」やkivyスクリーンマネージャーを使用しようとはしていません。Python - kivyアプリケーションに2番目の「スクリーン」を追加するにはどうすればよいですか?
私はこの問題を解決しようとしているGoogleの全面的な検索に時間を費やしています。私はpython kivyプログラムを持っています。私は最初の開始画面を作成しました。ユーザーが特定のゲームをクリックすると、最初の画面ですべてのデータを消去し、ボタンとラベルを画面に配置します。ほぼ「新しい」画面に似ています。私は現在、ユーザーがゲームを選択したときに画面をクリアする場所に持っていますが、この画面にボタンを追加しようとすると、メイン画面にボタンが表示されます。
これは私のPythonコードである:ここで
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.dropdown import DropDown
class MadLib(Widget):
pass
class MadlibApp(App):
def build(self):
return MadLib()
app = MadlibApp()
if __name__ == '__main__':
app.run()
は私の.kvファイルです:
<MadLib>:
canvas:
Color:
rgba: 0.2, 0.8, 0.2, 1
Rectangle:
pos: 0, 0
size: self.width, self.height
Button:
tag: 'exit'
background_color: 0, 0, 0, 0
height: 100
width: 100
center_x: root.width - self.width/2
top: root.top
on_press: app.stop()
Image:
source: r"C:\Users\kraak\Desktop\Python\Python\basicexitbutton.gif"
top: root.top
center_x: root.width - self.width/2
size_hint_y: None
height: '96dp'
Button:
tag: 'menu'
background_color: 0, 0, 0, 0
id: btn
top: root.top - 10
center_x: self.width/2 + 10
on_release: dropdown.open(self)
size_hint_y: None
height: '48dp'
width: '175dp'
Image:
source: r"C:\Users\kraak\Desktop\Python\Python\basicmenubutton.gif"
top: root.top + 10
center_x: self.width/2
size_hint_y: None
height: '96dp'
Widget:
on_parent: dropdown.dismiss()
DropDown:
id: dropdown
on_select: btn.text = '{}'.format(args[1])
Button:
center_x: self.width/2
text: 'Browse'
font_size: '32'
background_color: 0, 0 ,0, 0
size_hint_y: None
height: '48dp'
on_release: dropdown.select('A')
Button:
text: 'Categories'
font_size: '32'
background_color: 0, 0 ,0, 0
size_hint_y: None
height: '48dp'
on_release: dropdown.select('B')
Button:
text: 'Settings'
font_size: '32'
background_color: 0, 0 ,0, 0
size_hint_y: None
height: '48dp'
on_release: dropdown.select('C')
Button:
text: 'Game 1'
font_size: '32'
background_color: 0, 0 ,0, 0
size_hint_y: None
height: '48dp'
top: root.top/1.33
center_x: root.width/4
on_press: root.clear_widgets()
Button:
text: 'Game 2'
font_size: '32'
background_color: 0, 0 ,0, 0
size_hint_y: None
height: '48dp'
top: root.top/1.66
center_x: root.width/4
on_release: dropdown.select('C')
<Game1>:
Button:
id: tst
text: 'Test'
font_size: '32'
background_color: 0, 0 ,0, 0
size_hint_y: None
height: '48dp'
top: root.top
center_x: root.width/4
ユーザがゲーム1をクリックすると、私はそれがゲーム1クラスにジャンプしたいですしかし、それはプログラムがまだ存在しないことを知らないのでできません。私はこれを修正する方法についてはわかりません。
私は文字通りの画面を使用しようとしていないよ。これの.pyファイルを実行して、この例を見てみることを
。基本的なプログラムを作って、できるだけシンプルにしておきたいだけです。私は経験プログラマーではないので、私が使用すべき正確な用語を知らない。 –
心配しないで、本当にシンプルです。また、用語は簡単です.1つの画面だけを含むことができるScreenManagerウィジェットがあります。次に、既に持っているウィジェットを含むことができるスクリーンがあります。いくつかの[examples](https://kivy.org/docs/api-kivy.uix.screenmanager.html#basic-usage)を見てください。任意のコードを変更する必要はなく、わずか10-15行程度です。立ち往生したときに返信してください。 –
ありがとうございます。私はそれを試してみると思います。次回の学期に向けてプログラムをさらに進歩させるのに役立つかもしれません。 –