【发布时间】:2016-07-18 15:14:32
【问题描述】:
我正在尝试在 Android 上创建一个应用程序,您可以使用该应用程序填写一些 TextInputs,然后在留下的标记空间上签名,我有 2 个按钮,一个用于清除,一个用于将窗口导出为 png ,但是当我将它构建为 .apk 然后在我的平板电脑上运行它时,一切看起来仍然很好,并且按下导出按钮不会给出错误,但我找不到适合我生活的图像,有人说查看代码所在的目录,但在我的情况下它是一个应用程序(.apk),我将添加我的代码,即使我认为它与问题没有太大关系。
__version__ = "0.2"
from random import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.graphics import Color, Ellipse, Line
from kivy.core.window import Window
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.gridlayout import GridLayout
from kivy.config import Config
from kivy.base import EventLoop
class MyPaintWidget(Widget):
Window.clearcolor = (0.95, 0.95, 0.85, 1)
def on_touch_down(self, touch):
color = (0,0,0)
with self.canvas:
Color(*color, mode='hsv')
d = 3
Ellipse(pos=(touch.x - d / 2, (touch.y - d / 2)+50), size=(d, d))
touch.ud['line'] = Line(points=(touch.x, touch.y+50),width=1.5)
def on_touch_move(self, touch):
touch.ud['line'].points += [touch.x, touch.y+50]
class WaentjiesApp(App):
display_width = 1200
global parent
def build(self):
global parent
Window.size = (self.display_width, 500)
parent = FloatLayout()
self.painter = MyPaintWidget()
save_button = Button(text = 'Save',pos=(0,0),size_hint=(.20,.20),on_release=self.save_canvas)
clear_button = Button(text = 'Clear',pos=(300,0),size_hint=(.20,.20),on_release=self.clear_canvas)
name_text = TextInput(text='',pos=(0,370),size_hint=(.15,.15))
van_text = TextInput(text='',pos=(200,370),size_hint=(.15,.15))
adres_text = TextInput(text='',pos=(0,220),size_hint=(.15,.15))
waentjie_text = TextInput(text='',pos=(200,220),size_hint=(.15,.15))
name_label = Label(text='Naam',pos=(0,450),size_hint=(.15,.15),color=(0,0,0,1))
van_label = Label(text='Van',pos=(200,450),size_hint=(.15,.15),color=(0,0,0,1))
adres_label = Label(text='Adres',pos=(0,300),size_hint=(.15,.15),color=(0,0,0,1))
waentjie_label = Label(text='Waentjie',pos=(200,300),size_hint=(.15,.15),color=(0,0,0,1))
handtekening1_label = Label(text='Handtekening',pos=(400,350),size_hint=(.15,.15),color=(0,0,0,1))
handtekening2_label = Label(text='......................................................................................................................................',pos=(600,190),size_hint=(.15,.15),color=(0,0,0,0.5))
agtergrond = Label()
parent.add_widget(handtekening2_label)
parent.add_widget(self.painter)
parent.add_widget(save_button)
parent.add_widget(clear_button)
parent.add_widget(name_text)
parent.add_widget(van_text)
parent.add_widget(adres_text)
parent.add_widget(name_label)
parent.add_widget(van_label)
parent.add_widget(adres_label)
parent.add_widget(waentjie_text)
parent.add_widget(waentjie_label)
parent.add_widget(handtekening1_label)
return parent
def save_canvas(self, obj):
global parent
parent.export_to_png('b.png')
def clear_canvas(self, obj):
self.painter.canvas.clear()
WaentjiesApp().run()
有些变量和名称可能看起来很奇怪,但英语不是我的第一语言,所以我倾向于选择其他语言名称
【问题讨论】:
-
尝试检查目录是否存在,如果不存在,则创建它。使用绝对路径。
-
对不起,我想你了,介意再简单解释一下吗?
-
您可以检查特定文件夹是否存在。 “/data/storage/0/something”例如。如果没有,请让您的应用程序创建该目录。并且总是使用绝对路径。 “/data/storage/0/something/b.png”。
-
好的,我明白了,谢谢我会试试的
标签: android python-2.7 kivy buildozer