【发布时间】:2021-02-06 17:57:37
【问题描述】:
我对 Kivy 很陌生(已经使用了大约四个小时......)而且我遇到了弹出窗口。
我有一个主屏幕,在浮动布局中有四个按钮。按下时,我希望“移动”按钮打开一个弹出窗口。现在我已经完成了这项工作,但弹出窗口包含与我的主屏幕相同的四个按钮。
这是我的 Python 代码:
def show_movepop():
show = MovePop()
movepopWindow = Popup(title="Move", content=show, size_hint=(None, None),size=(400,400))
movepopWindow.open()
class MovePop(FloatLayout):
pass
class MainWindow(Screen):
def movebtn(self):
show_movepop()
class StatsWindow(Screen):
pass
class WindowManager(ScreenManager):
pass
kv = Builder.load_file("gamegui.kv")
class MainFloatApp(App):
def build(self):
return kv
if __name__ == "__main__":
MainFloatApp().run()
这是我的 .kv 文件:
WindowManager:
MainWindow:
StatsWindow:
<Button>
font_size:40
color:0.3,0.6,0.7,1
size_hint: 0.5, 0.1
<MainWindow>:
name: "mainscreen"
FloatLayout
Button:
text: "MOVE"
id: move
pos_hint: {"x":0, "y":0.1}
on_release: root.movebtn()
Button:
text: "ACTION"
id: action
pos_hint: {"x":0.5, "y":0.1}
Button:
text: "EXAMINE"
id: examine
pos_hint: {"x":0, "y":0}
Button:
text: "STATS"
id: stats
pos_hint: {"x":0.5, "y":0}
on_release:
app.root.current = "statsscreen"
root.manager.transition.direction = "left"
<StatsWindow>:
name: "statsscreen"
Button:
text: "Back"
on_release:
app.root.current = "mainscreen"
root.manager.transition.direction = "right"
<MovePop>:
Button:
text: "!"
pos_hint: {"x":0.1, "y":0.5}
on_release:
如果以上内容超级脏,请提前道歉,我效率不高:')
感谢所有建议!
【问题讨论】:
-
当我运行你的代码时,按下
MOVE按钮会显示一个Popup,只有一个按钮,上面有文字!。 -
@JohnAnderson Whaaaat?!这正是我想要发生的!但是我在弹出窗口底部的主屏幕上得到了相同的四个按钮......知道可能导致这种情况的原因吗?
-
不知道怎么会这样。
标签: python kivy kivy-language