【发布时间】:2021-11-10 17:11:44
【问题描述】:
我是 Kivy 的新手,很抱歉在帖子中问了 2 个问题..
首先,为什么remove_widget() 不起作用?它说AttributeError: 'MyCard' object has no attribute 'remove_card',但我试图将它们放在其他类中,它仍然不起作用。
第二,为什么我的小部件仍然有“焦点行为”,即使我放了一张颜色几乎不透明的卡片,我的按钮仍然可以点击
这是我的 main.py 文件
class MyCard(Screen):
pass
class HomeScreen(Screen):
def add_card(self):
self.add_widget(MyCard())
def remove_card(self):
self.remove_widget(MyCard(name='cardd'))
class AVCard(Screen):
pass
class ScreenApp(MDApp):
def build(self):
def build(self):
sm = ScreenManager(transition=FadeTransition(duration=0.2))
sm.add_widget(HomeScreen(name='home'))
sm.add_widget(AVCard(name='av'))
return sm
这是我的 home.kv 文件(AVCard 类有自己的 .kv 文件)
<HomeScreen>:
name: 'home'
MDIconButton:
on_release: root.add_card()
...
<MyCard>:
name: 'cardd'
MDCard: #-> I put this card is to not allow user click on widgets behind it but it does not work
md_bg_color: 0, 0, 0, .3
...
MDCard: #-> Thís card is like a window which includes small widgets in it
...
Screen:
MDIconButton: #-> The close button
icon: "close-circle"
...
on_release:
root.remove_card()
非常感谢。
【问题讨论】:
标签: python kivy kivy-language kivymd