前提・実現したいこと
Kivyで作ったアプリをandroidで実行したいので
kivyLauncherもしくはwindows10でapkファイルにして使いたいです。
kivyLauncherで別のサンプルアプリを起動させたところPython2.7.2で動いているので
原因はPython3でコードを書いている事かなぁと思っています。
ただ、初心者なものでPython3でしかコードが書けません。
下記のコードをPython2.7.2にしていただけるだけでもよいので
よろしくお願いいたします。
発生している問題・エラーメッセージ
kivyLauncherで動しません。
(ネットのサンプルコードを用いた簡単なコードではアプリは動く)
該当のソースコード
python
1from datetime import datetime 2import datetime 3import time 4import threading as th 5 6from kivy.config import Config 7Config.set('graphics', 'fullscreen', 0) 8Config.set('graphics', 'width', 640) 9Config.set('graphics', 'height', 320) 10Config.set('graphics', 'resizable', 0) 11 12from kivy.app import App 13from kivy.uix.widget import Widget 14from kivy.properties import StringProperty 15from kivy.resources import resource_add_path 16from kivy.properties import ListProperty 17from time import strftime 18from kivy.clock import Clock 19 20class TestWidget(Widget): 21 gray1 = [0.4, 0.4, 0.4, 1] 22 gray2 = [0.3, 0.3, 0.3, 1] 23 blue1 = [175/255,238/255,238/255,1] 24 blue3 = [0,1,1,1] 25 pink1 = [255/255,182/255,193/255,1] 26 pink2 = [255/255,105/255,180/255,1] 27 time = StringProperty('') 28 nowtime = StringProperty('') 29 aftertime = StringProperty('') 30 button1_color = ListProperty(blue1) 31 button2_color = ListProperty(pink1) 32 back_color = ListProperty(gray1) 33 34 def __init__(self, **kwargs): 35 super(TestWidget, self).__init__(**kwargs) 36 Clock.schedule_interval(self.update_time, 0.1) 37 def update_time(self, *args): 38 self.now = datetime.datetime.now() 39 self.time = self.now.strftime("%H:%M %S") 40 print(self.time) 41 def on_start(self): 42 Clock.schedule_interval(self.update_time, 0.1) 43 44 def button1_on(self): 45 self.button1_color = (self.blue3) 46 self.back_color = (self.gray1) 47 def button2_on(self): 48 self.button2_color = (self.pink2) 49 self.back_color = (self.gray1) 50 51 def time15_set(self): 52 self.now = datetime.datetime.now() 53 self.nowtime = self.now.strftime('%H:%M') 54 hour = self.now.hour 55 minute = self.now.minute +15 56 if minute >= 60 : 57 minute -= 60 58 hour +=1 59 if hour >=24 : 60 hour -=24 61 hour_str = f'{hour:02}' # 0埋めで2文字 62 minute_str = f'{minute:02}' # 0埋めで2文字 63 self.aftertime = hour_str +':'+minute_str 64 self.back_color = (self.blue1) 65 self.text_color = '#DCDCDC' 66 self.button1_color = (self.blue1) 67 def time30_set(self): 68 self.now = datetime.datetime.now() 69 self.nowtime = self.now.strftime('%H:%M') 70 hour = self.now.hour 71 minute = self.now.minute +30 72 if minute >= 60 : 73 minute -= 60 74 hour +=1 75 if hour >=24 : 76 hour -=24 77 hour_str = f'{hour:02}' # 0埋めで2文字 78 minute_str = f'{minute:02}' # 0埋めで2文字 79 self.aftertime = hour_str +':'+minute_str 80 self.back_color = (self.pink1) 81 self.button2_color = (self.pink1) 82 83class TestApp(App): 84 def __init__(self, **kwargs): 85 super(TestApp, self).__init__(**kwargs) 86 self.title = 'TestApp' 87 88if __name__ == '__main__': 89 TestApp().run() 90
kivy
1TestWidget: 2 3<TestWidget>: 4 canvas.before: 5 Color: 6 rgba: 0.4, 0.4, 0.4, 1 7 Rectangle: 8 pos: self.pos 9 size: self.size 10 11 BoxLayout: 12 orientation: 'vertical' 13 size: root.size 14 15 BoxLayout: 16 padding: 10,5,10,0 17 spacing: 5 18 19 Label: 20 size_hint_y: 1.0 21 spacing: 0 22 id: label1 23 text: "Follow-up" 24 text_size: self.size 25 font_size: 30 26 halign: 'left' 27 valign: 'bottom' 28 Label: 29 id: time 30 spacing: 0 31 text: root.time 32 text_size: self.size 33 font_size: 30 34 bold: 'true' 35 halign: 'right' 36 valign: 'middle' 37 38 BoxLayout: 39 size_hint_y: 8 40 padding: 10,5,10,5 41 spacing: 5 42 43 BoxLayout: 44 orientation: 'vertical' 45 padding: 10,10,10,10 46 spacing: 10 47 48 RoundedButton1: 49 size_hint_y: 5 50 id: button1 51 text: "15min" 52 font_size: 50 53 color: '#3b3b3b' 54 back_color: root.button1_color 55 on_press: root.button1_on() 56 on_release: root.time15_set() 57 RoundedButton2: 58 size_hint_y: 5 59 id: button2 60 text: "30min" 61 font_size: 50 62 color: '#3b3b3b' 63 back_color: root.button2_color 64 on_press: root.button2_on() 65 on_release: root.time30_set() 66 67 RoundedBox: 68 size_hint_x: 1.1 69 orientation: 'vertical' 70 padding: 20,5,10,10 71 spacing: 0 72 back_color: root.back_color 73 74 Label: 75 id: label2 76 text: "Inoculation time" 77 text_size: self.size 78 font_size: 30 79 color: '#3c3c3c' 80 halign: 'left' 81 valign: 'middle' 82 Label: 83 size_hint_y: 2.5 84 id: label3 85 text: root.nowtime 86 text_size: self.size 87 font_size: 95 88 color: '#3c3c3c' 89 halign: 'center' 90 valign: 'top' 91 Label: 92 id: label4 93 spacing: 5 94 text: "Leaving time" 95 color : root.text_color 96 text_size: self.size 97 font_size: 30 98 color: '#3c3c3c' 99 halign: 'left' 100 valign: 'middle' 101 Label: 102 size_hint_y: 2.5 103 id: label5 104 text: root.aftertime 105 text_size: self.size 106 font_size: 95 107 color: '#3c3c3c' 108 halign: 'center' 109 valign: 'top' 110 111<RoundedButton1@Button>: 112 background_color: 0,0,0,0 113 background_normal: '' 114 back_color: 1,0,1,1 115 border_radius: [10] 116 canvas.before: 117 Color: 118 rgba: self.back_color 119 RoundedRectangle: 120 size: self.size 121 pos: self.pos 122 radius: self.border_radius 123<RoundedButton2@Button>: 124 background_color: 0,0,0,0 125 background_normal: '' 126 back_color: 1,0,1,1 127 border_radius: [10] 128 canvas.before: 129 Color: 130 rgba: self.back_color 131 RoundedRectangle: 132 size: self.size 133 pos: self.pos 134 radius: self.border_radius 135<RoundedBox@BoxLayout>: 136 background_color: 0,0,0,0 137 background_normal: '' 138 back_color: 1,0,1,1 139 border_radius: [10] 140 canvas: 141 Color: 142 rgba: self.back_color 143 RoundedRectangle: 144 size: self.size 145 pos: self.pos 146 radius: self.border_radius 147
試したこと
元々日本語を使っていたのですが、全て英語にしました。
出来れば日本語で使用したいのですが。。。
補足情報
元々はTkinterで作っていたのですが、Android様に再構築したコードです。
あなたの回答
tips
プレビュー