Python 如何取消选择kivy filechooser列表视图中选定的多个文件
如何清除kivy Filechooser的只读列表属性选择,或者是否有任何解决方法?问题是,即使我返回到我的Filechooser窗口,文件仍保持选中状态,这真的很烦人。即使kivy Filechooser的选择是只读的,您只需将选择值设置为Python 如何取消选择kivy filechooser列表视图中选定的多个文件,python,user-interface,kivy,filechooser,Python,User Interface,Kivy,Filechooser,如何清除kivy Filechooser的只读列表属性选择,或者是否有任何解决方法?问题是,即使我返回到我的Filechooser窗口,文件仍保持选中状态,这真的很烦人。即使kivy Filechooser的选择是只读的,您只需将选择值设置为[] 代码示例: # import from kivy.app import App from kivy.lang import Builder from kivy.uix.screenmanager import Screen, ScreenManager
[]
代码示例:
# import
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
class SM(ScreenManager):
pass
class Screen1(Screen):
def selected(self, filename):
# displaying seleted file name as a label
self.ids.lb.text = str(filename)
class Screen2(Screen):
def deselect_action(self):
# access screen1
s1 = self.manager.get_screen('first')
# resetting file selection
s1.ids.select_file.selection = []
# kivy file
kv = Builder.load_string("""
SM:
Screen1:
Screen2:
<Screen1>:
name: 'first'
BoxLayout:
orientation: 'vertical'
FileChooserIconView:
id: select_file
on_selection: root.selected(select_file.selection)
Label:
id: lb
text: 'default'
Button:
text: 'go to second screen'
on_press:
app.root.current = 'second'
<Screen2>:
name: 'second'
Button:
text: 'go back'
on_press:
app.root.current = "first"
root.deselect_action()
""")
class filechoosing(App):
def build(self):
return kv
filechoosing().run()
#导入
从kivy.app导入应用程序
从kivy.lang导入生成器
从kivy.uix.screenmanager导入屏幕,screenmanager
SM类(屏幕管理器):
通过
类别屏幕1(屏幕):
已选择def(自身,文件名):
#将选定的文件名显示为标签
self.ids.lb.text=str(文件名)
第2类屏幕(屏幕):
def取消选择_操作(自身):
#访问屏幕1
s1=self.manager.get_屏幕('first')
#重置文件选择
s1.ids.select_file.selection=[]
#奇维锉刀
kv=生成器。加载字符串(“”)
SM:
屏幕1:
屏幕2:
:
名字:“第一”
盒子布局:
方向:“垂直”
FileChooseConView:
id:选择\u文件
在\u选择上:root.selected(选择\u file.selection)
标签:
id:lb
文本:“默认值”
按钮:
文本:“转到第二个屏幕”
新闻界:
app.root.current='秒'
:
姓名:“第二”
按钮:
文本:“返回”
新闻界:
app.root.current=“第一”
root.deselect_action()
""")
类文件选择(应用程序):
def生成(自):
回流千伏
FileSelecting().run()
在这里您可以看到,标签获取所选文件的值。返回到Filechooser窗口屏幕时,没有选择。即使kivy Filechooser的选择是只读的,您也可以通过将选择值设置为
[]
来清除选择
代码示例:
# import
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
class SM(ScreenManager):
pass
class Screen1(Screen):
def selected(self, filename):
# displaying seleted file name as a label
self.ids.lb.text = str(filename)
class Screen2(Screen):
def deselect_action(self):
# access screen1
s1 = self.manager.get_screen('first')
# resetting file selection
s1.ids.select_file.selection = []
# kivy file
kv = Builder.load_string("""
SM:
Screen1:
Screen2:
<Screen1>:
name: 'first'
BoxLayout:
orientation: 'vertical'
FileChooserIconView:
id: select_file
on_selection: root.selected(select_file.selection)
Label:
id: lb
text: 'default'
Button:
text: 'go to second screen'
on_press:
app.root.current = 'second'
<Screen2>:
name: 'second'
Button:
text: 'go back'
on_press:
app.root.current = "first"
root.deselect_action()
""")
class filechoosing(App):
def build(self):
return kv
filechoosing().run()
#导入
从kivy.app导入应用程序
从kivy.lang导入生成器
从kivy.uix.screenmanager导入屏幕,screenmanager
SM类(屏幕管理器):
通过
类别屏幕1(屏幕):
已选择def(自身,文件名):
#将选定的文件名显示为标签
self.ids.lb.text=str(文件名)
第2类屏幕(屏幕):
def取消选择_操作(自身):
#访问屏幕1
s1=self.manager.get_屏幕('first')
#重置文件选择
s1.ids.select_file.selection=[]
#奇维锉刀
kv=生成器。加载字符串(“”)
SM:
屏幕1:
屏幕2:
:
名字:“第一”
盒子布局:
方向:“垂直”
FileChooseConView:
id:选择\u文件
在\u选择上:root.selected(选择\u file.selection)
标签:
id:lb
文本:“默认值”
按钮:
文本:“转到第二个屏幕”
新闻界:
app.root.current='秒'
:
姓名:“第二”
按钮:
文本:“返回”
新闻界:
app.root.current=“第一”
root.deselect_action()
""")
类文件选择(应用程序):
def生成(自):
回流千伏
FileSelecting().run()
在这里您可以看到,标签获取所选文件的值。返回到Filechooser窗口屏幕时,没有选择