Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 交换;标签";手风琴中的编程_Python_Kivy - Fatal编程技术网

Python 交换;标签";手风琴中的编程

Python 交换;标签";手风琴中的编程,python,kivy,Python,Kivy,当在文件上按下加载文件按钮时,我想切换“tab”,这意味着当加载文件时,它应该切换到第二个AccordionItem。如何以编程方式执行此操作 42 Accordion: 43 orientation: 'horizontal' 44

当在文件上按下加载文件按钮时,我想切换“tab”,这意味着当加载文件时,它应该切换到第二个AccordionItem。如何以编程方式执行此操作

 42     Accordion:                                                                  
 43         orientation: 'horizontal'                                               
 44         anim_duration: 2                                                        
 45                                                                                 
 46         AccordionItem:                                                          
 47             title: 'Load File'.title()                                          
 48             Page:                                                               
 49                 Header:                                                         
 50                     text: 'Load File'.title()                                   
 51                 Body:                                                           
 52                     BoxLayout:                                                  
 53                         orientation: 'vertical'                                 
 54                                                                                 
 55                         FileChooser:                                                                                                                                                              
 56                             id: _filechooser                                    
 57                             dirselect: False                                    
 58                             multiselect: False                                  
 59                             show_hidden: False                                  
 60                             path: '~/'                                          
 61                             filters: ['*.[Zz][Ii][Pp]', '*.[Xx][Mm][Ll]']       
 62                             FileChooserIconLayout                               
 63                                                                                 
 64                         Button:                                                 
 65                             height: '48dp'                                      
 66                             size_hint_y: None                                   
 67                             text: 'Load'.title()                                
 68                             on_release: root.load(_filechooser.path, _filechooser.selection)
 69                                                                                 
 70                 Footer:                                                         
 71                     text: 'Choose file to load…'                                
 72                                                                                 
 73         AccordionItem:                                                          
 74             title: 'Dmarc Report'.title()                                       
 75             Page:                                                               
 76                 Header:                                                         
 77                     text: 'Dmarc Report'.title()                                
 78                 Body:                                                           
 79                 Footer:                                                         
 80                     text: 'Viewing currently loaded file…'
您可以使用
dispatch()
方法模拟单击
AccordionItem

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder

Builder.load_string('''
<MyWidget>:
    orientation: "vertical"
    Button:
        text: "switch"
        size_hint: 1, 0.1
        on_press:
            if item1.collapse: item1.dispatch('on_touch_down', item1)
            else: item2.dispatch('on_touch_down', item2)
    Accordion:
        AccordionItem:
            id: item1
            title: "1"
            Label:
                text: "1"
        AccordionItem:
            id: item2
            title: "2"
            Label:
                text: "2"
''')


class MyWidget(BoxLayout):
    pass

class MyApp(App):
    def build(self):        
        return MyWidget()

if __name__ == '__main__':
    MyApp().run()
从kivy.app导入应用
从kivy.uix.boxlayout导入boxlayout
从kivy.lang导入生成器
Builder.load_字符串(“”)
:
方向:“垂直”
按钮:
文字:“开关”
大小提示:1,0.1
新闻界:
if item1.collapse:item1.dispatch('on_touch_down',item1)
其他:项目2.调度(“触地时”,项目2)
手风琴:
手风琴项目:
id:项目1
标题:“1”
标签:
案文:“1”
手风琴项目:
id:项目2
标题:“2”
标签:
案文:“2”
''')
类MyWidget(BoxLayout):
通过
类别MyApp(应用程序):
def生成(自):
返回MyWidget()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
MyApp().run()