라벨이 kivyMD인 게시물 표시

파이썬[Python]: kivy, kivyMD 안드로이드 앱 생성(빌드) - 디버그

이미지
(2022년 1월 5일 현재) kivy를 통한 프로그램들은 kivy launcher를 사용하는 것(사용해보지는 않았습니다.)을 제외하면 Linux나 MacOS에서 apk 를 생성해야 합니다. 윈도우에 익숙하신분들은 이러한 진입장벽이 있기 때문에 쉽게 접근하기 어려울 것이라 생각합니다. 이에 (파이썬을 공부하시다가) 모바일(GUI 프로그래밍)을 시도해보고 싶으신 분들께 조금이나마 도움이 되었으면 하는 바램으로 이 글을 드립니다. APK 생성(빌드) 방법   1. 컴퓨터에 리눅스 설치 또는 애플 컴퓨터 구입   2. Virtual Machine 을 통해 가상환경 설정(예:) Virtual Box)   3. WSL(Windows Subsystem for Linux) 사용 - 윈도우를 마운트하여 사용할 수 있기 때문에 사용하기 편합니다.   4. Google Colab 이나 Github Actions 사용 여기서 저는 Google Colab을 사용해보겠습니다.(간단한 방법으로 이 글을 보는 분들은 저와 같은 환경을 사용하실 수 있습니다.) (파이썬 프로그램은 윈도우에서 작성 후 업로드 하시면 되고, 리눅스 명령은 복사와 붙여넣기만 하시면 됩니다. buildozer.spec 은 윈도우에서 작성하셔도 되고, Colab에서 작성하셔도 됩니다. 디버깅 할 경우는 Colab에서 변경하시는것이 훨씬 편합니다.) 단계 1. 구글 Colab 과 친분쌓기   1. 구글에 가입(무료)(# 아직 스폰제의을 받지는 않았습니다. ^^)   2. https://colab.research.google.com/?hl=ko 로그인을 합니다.   3. 목차에 보시면 데이터 과학과 머신러닝에 관련된 내용이 나옵니다만, 저희는 파이썬(kivy 모듈)으로 안드로이드 apk를 생성할 것입니다.   4. 마음껏 Colab 과 친분을 쌓으시길 바라겠습니다. 저는 아직 충분한 친분을 쌓지 못했습니다.(익숙해지시면 사용하기 편합니다. 참고: 파이썬 3.7을 사

파이썬[Python]: kivyMD - Tooltip 클래스

이미지
kivymd.uix.tooltip 모듈 - Tooltip 클래스(class) /// 설명 (kivy + kivyMD) 관련 정보를 표시합니다. 참고: kivyMD 모듈 목록 ※ 형식 Tooltip(**kwargs) reference https://kivymd.readthedocs.io/en/latest/components/tooltip/ /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import  kivy   kivy.require( '2.0.0' )   from  kivy.core.window  import  Window   from  kivymd.app  import  MDApp from  kivymd.uix.screen  import  MDScreen from  kivymd.uix.tooltip  import  MDTooltip from  kivymd.uix.button  import  MDIconButton   Window.size  =  ( 563 ,  1001 ) Window.top, Window.left  =   30 ,  700     class  TestMDibMDtt(MDIconButton, MDTooltip):      pass     class  FantasticApp(MDApp):      def  build( self ):          # Phone-like --------------------------------------------------------------          self .theme_cls.theme_style  =   'Dark'         MDs  =  MDScreen(pos_hint = { 'right' : . 995 ,  'top' : . 985 }

파이썬[Python]: kivyMD - Tooltip 클래스 - kv

이미지
kivymd.uix.tooltip 모듈 - Tooltip 클래스(class) /// 설명 (kivy + kivyMD) 관련 정보를 표시합니다. 참고: kivyMD 모듈 목록 ※ 형식 Tooltip(**kwargs) reference https://kivymd.readthedocs.io/en/latest/components/tooltip/ /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import  kivy   kivy.require( '2.0.0' )   from  kivy.core.window  import  Window from  kivy.lang  import  Builder   from  kivymd.app  import  MDApp   Window.size  =  ( 563 ,  1001 ) Window.top, Window.left  =   30 ,  700   kv  =   '' ' <TestMDibMDtt@MDIconButton+MDTooltip> MDScreen:  # Phone-like     radius: (25, 25, 25, 25)     md_bg_color: (1, 1, 1, 1)     size_hint: (.99, .98)     pos_hint: {' right ': .995, ' top ': .985}     TestMDibMDtt:         icon: ' language - c '         tooltip_text: ' Tooltip: Tip  -   ' + self.icon + ' \\nC language  is  difficult '         tooltip_font_style: ' Subti

파이썬[Python]: kivyMD - MDTabs 클래스 - kv

이미지
kivymd.uix.tab 모듈 - MDTabs 클래스(class) /// 설명 (kivy + kivyMD) 탭(tab) 입니다. 참고: kivyMD 모듈 목록 ※ 형식 MDTabs(**kwargs) reference https://kivymd.readthedocs.io/en/latest/components/tabs/ /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 import  kivy   kivy.require( '2.0.0' )   from  kivy.core.window  import  Window from  kivy.lang  import  Builder   from  kivymd.app  import  MDApp from  kivymd.uix.tab  import  MDTabsBase from  kivymd.uix.floatlayout  import  MDFloatLayout from  kivymd.icon_definitions  import  md_icons   Window.size  =  ( 563 ,  1001 ) Window.top, Window.left  =   30 ,  700   kv  =   '' ' MDScreen:  # Phone-like     radius: (25, 25, 25, 25)     md_bg_color: (1, 1, 1, 1)     size_hint: (.99, .98)     pos_hint: {' right ': .995, ' top ': .985}          MDBoxLayout:         

파이썬[Python]: kivyMD - MDSpinner 클래스

이미지
kivymd.uix.swiper 모듈 - MDSpinner 클래스(class) /// 설명 (kivy + kivyMD) 진행상태(circle)를 표현합니다. 참고: kivyMD 모듈 목록 ※ 형식 MDSpinner(**kwargs) reference https://kivymd.readthedocs.io/en/latest/components/spinner/ /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 import  kivy   kivy.require( '2.0.0' )   from  kivy.core.window  import  Window from  kivy.uix.togglebutton  import  ToggleButton   from  kivymd.app  import  MDApp from  kivymd.uix.screen  import  MDScreen from  kivymd.uix.spinner  import  MDSpinner   Window.size  =  ( 563 ,  1001 ) Window.top, Window.left  =   30 ,  700     class  FantasticApp(MDApp):      def  _bt_pressed( self , bt_inst):          if  bt_inst.state  = =   'down' :              self .MDsp.active  =   True          else :              self .MDsp.active  =   False        def  build( self ):          # Phone-like --------------------------------------------------

파이썬[Python]: kivyMD - MDSpinner 클래스 - kv

이미지
kivymd.uix.swiper 모듈 - MDSpinner 클래스(class) /// 설명 (kivy + kivyMD) 진행상태(circle)를 표현합니다. 참고: kivyMD 모듈 목록 ※ 형식 MDSpinner(**kwargs) reference https://kivymd.readthedocs.io/en/latest/components/spinner/ /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 import  kivy   kivy.require( '2.0.0' )   from  kivy.core.window  import  Window from  kivy.lang  import  Builder   from  kivymd.app  import  MDApp   Window.size  =  ( 563 ,  1001 ) Window.top, Window.left  =   30 ,  700   kv  =   '' ' MDScreen: # Phone-like     radius: (25, 25, 25, 25)     md_bg_color: (1, 1, 1, 1)     size_hint: (.99, .98)     pos_hint: {' right ': .995, ' top ': .985}     MDSpinner:         size_hint: None, None         size: 50, 50         pos_hint: {' center_x ': .5, ' center_y ': .5}         active: True if id_tb.state == ' down ' else False     ToggleButton:         id

파이썬[Python]: kivyMD - MDDropdownMenu 클래스 - kv

이미지
kivymd.uix.swiper 모듈 - MDDropdownMenu 클래스(class) /// 설명 (kivy + kivyMD) 메뉴입니다. 참고: kivyMD 모듈 목록 ※ 형식 MDDropdownMenu(**kwargs) reference https://kivymd.readthedocs.io/en/latest/components/menu/ /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 import  kivy   kivy.require( '2.0.0' )   from  kivy.core.window  import  Window from  kivy.lang  import  Builder   from  kivymd.app  import  MDApp from  kivymd.uix.menu  import  MDDropdownMenu   Window.size  =  ( 563 ,  1001 ) Window.top, Window.left  =   30 ,  700   kv  =   '' ' MDScreen:  # Phone-like     radius: (25, 25, 25, 25)     md_bg_color: (1, 1, 1, 1)     size_hint: (.99, .98)     pos_hint: {' right ': .995, ' top ': .985}          MDRaisedButton:         id: id_MDrb         text: ' MENU '         pos_hint: {"center_x": .5, "center_y": .

파이썬[Python]: kivyMD - MDDropdownMenu 클래스

이미지
kivymd.uix.swiper 모듈 - MDDropdownMenu 클래스(class) /// 설명 (kivy + kivyMD) 메뉴입니다. 참고: kivyMD 모듈 목록 ※ 형식 MDDropdownMenu(**kwargs) reference https://kivymd.readthedocs.io/en/latest/components/menu/ /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 import  kivy   kivy.require( '2.0.0' )   from  kivy.core.window  import  Window   from  kivymd.app  import  MDApp from  kivymd.uix.screen  import  MDScreen from  kivymd.uix.menu  import  MDDropdownMenu from  kivymd.uix.button  import  MDRaisedButton   Window.size  =  ( 563 ,  1001 ) Window.top, Window.left  =   30 ,  700     class  FantasticApp(MDApp):      def  _menu_pressed( self , items):          print (items)        def  _bt_pressed( self , bt_instance):          self .menu.caller  =  bt_instance          self .menu. open ()        def  build( self ):          # Phone-like ---------------------------------------------