반응형



구글링한 결과 + 짐작 으로 만든거라.. 먼가 이상한 점들이 많을지도 모릅니다...ㅡㅠ

안드로이드폰에 올릴려고 했더니 아쉽게도 freetds-dev문제 때문에 안되네요.


  1. from kivy.adapters.dictadapter import DictAdapter  
  2. from kivy.uix.listview import ListItemButton, \  
  3.         CompositeListItem, ListView  
  4. from kivy.uix.boxlayout import BoxLayout  
  5. from kivy.lang import Builder  
  6. from kivy.app import App  
  7.   
  8. from kivy.clock import Clock  
  9.   
  10.   
  11. import _mssql  
  12.   
  13.   
  14. Builder.load_string(""" 
  15. <MultiListView>: 
  16. #    ListView: 
  17. #        adapter: root.myadapter 
  18. """)  
  19.   
  20. class MultiListView(BoxLayout):  
  21.   
  22.   
  23.     def __init__(self, **kwargs):  
  24.   
  25.         super(MultiListView, self).__init__(**kwargs)  
  26.   
  27.         args_converter = \  
  28.             lambda row_index, rec: \  
  29.                 {'text': rec['ip'],  
  30.                  'is_selected':rec['is_selected'],  
  31.                  'size_hint_y'None,  
  32.                  'height'55,  
  33.                  'cls_dicts': [{'cls': ListItemButton,  
  34.                                 'kwargs': {'text': rec['ip'],  
  35.                                            'width':250,  
  36.                                            }},  
  37.   
  38.                                {'cls': ListItemButton,  
  39.                                 'kwargs': {'text': rec['time'],  
  40.                                            'width':250,  
  41.                                            }}]}  
  42.   
  43.         self.myadapter = DictAdapter(  
  44.                           sorted_keys=[1],  
  45.                           data="",  
  46.                           args_converter=args_converter,  
  47.                           cls=CompositeListItem,  
  48.                           selection_mode='single',  
  49.                           allow_empty_selection=True)  
  50.   
  51.         self.add_widget(ListView(adapter=self.myadapter))  
  52.   
  53.   
  54.         Clock.schedule_interval(self.update_list_data, 1)  
  55.   
  56.   
  57.     def update_list_data(self, dt):  
  58.         conn = _mssql.connect(server='서버아이피', user='아이디',  
  59.                       password='패스워드', database='데이터베이스 이름')  
  60.   
  61.   
  62.         conn.execute_query('SELECT * FROM STATE ORDER BY CURDATE DESC')  
  63.   
  64.         self.item = {}  
  65.         i=0;  
  66.         for row in conn:  
  67.             self.item[i] = {'ip'"IP=%s" % (row['IP']), 'is_selected'False,  
  68.                             'time'"TIME=%s" % ( row['CURTIME'])}  
  69.             i = i + 1  
  70.   
  71.         conn.close()  
  72.   
  73.         self.myadapter.data =self.item  
  74.   
  75.   
  76.   
  77.   
  78.   
  79. class TestApp(App):  
  80.     def build(self):  
  81.         return MultiListView()  
  82.   
  83. if __name__ == '__main__':  
  84.     TestApp().run()  


반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

+ Recent posts