설정 패널의 ColorPicker :Kivy - 나는 기본 설정 패널이
[
{ "type": "title",
"title": "Test application" },
{"type": "buttons",
"title": "Title here",
"desc": "desc here",
"section": "some section",
"key": "configchangebuttons",
"buttons":[
{"title":"Add","id":"button_add"},
{"title":"Del","id":"button_delete"},
{"title":"Rename","id":"button_rename"}
]},
{ "type": "numeric",
"title": "My second key",
"desc": "Description of my second key",
"section": "section1",
"key": "key2" }
]
내가 문서를 읽을 수 있지만 난 정말 실제로 출시하기 위해 패널에 액션 버튼을 추가하려면이 방법을 볼 수 없습니다를 색상 선택기를 사용하여 결과를 가져 와서 ini 파일에 저장합니다.
설정 패널에 새 개체 (버튼)를 등록하려고했지만 잘 작동하지 않습니다.
내가 목표로하는 것은 사용자가 선택한 색상의 RGB 코드를 가져 와서 그것을 읽을 곳에서부터 ini 파일에 저장하는 것입니다.
이 내가
class SettingButtons(SettingItem):
def __init__(self, **kwargs):
self.register_event_type('on_release')
super(SettingItem, self).__init__(**kwargs)
for aButton in kwargs["buttons"]:
oButton=Button(text=aButton['title'], font_size= '15sp')
oButton.ID=aButton['id']
self.add_widget(oButton)
oButton.bind (on_release=self.On_ButtonPressed)
def set_value(self, section, key, value):
# set_value normally reads the configparser values and runs on an error
# to do nothing here
return
def On_ButtonPressed(self,instance):
self.panel.settings.dispatch('on_config_change',self.panel.config, self.section, self.key, instance.ID)
를 추가하는 시도 버튼입니다 그리고 여기에 인스턴스를 등록 :
def build_settings(self, settings):
settings.register_type('buttons', SettingButtons)
with open("settings.json", "r") as settings_json:
settings.add_json_panel('B4A settings', self.config, data=settings_json.read())
을하지만 난이 응용 프로그램을 시작할 때 내가 얻을 :
TypeError: object.__init__() takes no parameters
와 나는 이것을 알고 build_settings의 register_type 부분에 있습니다.
EDIT
더 많은 조사가 끝나면이 방법이 작동하고 단추가 설정 패널에 표시되지만 APK가 휴대 전화에서 만들어지고 실행되는 경우에만 표시됩니다. 내 리눅스에서 응용 프로그램을 실행하면 위의 오류가 발생합니다. 이 방법을 우회하는 방법?
FloatLayout('blob')
을하고 그래서 파이썬 3. 나를 위해 잘 작동하는 경우 : 그건 그냥이 너무 충돌 할 의미하는 것 FloatLayout
, 때문에,
파이썬 3.0을 사용하여 작성했지만 python 2.7로 빌드 되었기 때문에이 코드는 내 안드로이드에서 작동합니다. – Nick
@ 닉 그래, Python 2와 3 호환 코드를 동시에 작성하거나 py3을 크게 작성하면 py3 코드 만 작성한다. – KeyWeeUsr
잘 파이썬 3을 대상으로 합니다만, buildozer/python-for-android는 파이썬 2로 어떤 이유로 든 팩을합니다. – Nick