{На самом деле всякий раз, когда я нажимаю на ярлык значения счетчика (официальный), в это время я нажимаю на другое значение счетчика. «Нормальный» созданный ярлык скрывается. этот сценарий работает нормально, но подходит ко второму сценарию - всякий раз, когда я нажимаю на значение счетчика (Normal) в первый раз, он показывает ошибку}
import kivy kivy.require ('1.10.0') из kivy.core.window import Окно из kivy.app import Приложение из kivy.uix.floatlayout import FloatLayout из kivy.uix.label import Метка из kivy.graphics import Color, Прямоугольник из kivy.uix.textinput Импорт TextInput из kivy.uix. импорт счетчика Spinner
Window.size = (500, 400) Window.clearcolor = (0,1, 0,1, 0,3, 0,2)
def show_selected_value (spinner, text): print ('Выбранный процесс ', spinner,' иметь текст ', текст)
класс LRefConfigAutomation (приложение): config = нет
def build_config(self, config):
config.setdefaults('LefConfigWindowSection', {
'PartInputLabel': 'Please Enter your Part No',
'TypeOfProcessLabel': 'Select Type Of Process',
'NormalFolderName': 'Enter Normal Folder Name',
})
self.config = config
def build(self):
config = self.config
root = FloatLayout()
lbl = config.get('LefConfigWindowSection', 'PartInputLabel')
self.label01 = Label(text=lbl, pos_hint={"center_x": .66, "center_y": .90}, size_hint=(1.0, 1.0), halign="left",
valign="middle", font_name='Georgia')
self.label01.bind(size=self.label01.setter('text_size'))
self.label01.font_size = '14.5dp' # something that'll give texture bigger than phone's screen size
root.add_widget(self.label01)
with self.label01.canvas:
Color(0, 0, 0, 0)
Rectangle(pos=self.label01.pos, size=self.label01.size)
self.txtKemNo = TextInput(pos_hint={"center_x": .66, "center_y": .90}, size_hint=(None, None),
font_name="Georgia", size=(100, 30), multiline=False, hint_text="Part Number")
root.add_widget(self.txtKemNo)
lbl = config.get('LefConfigWindowSection', 'TypeOfProcessLabel')
self.label02 = Label(text=lbl, pos_hint={"center_x": .66, "center_y": .75}, size_hint=(1.0, 1.0), halign="left",
valign="middle", font_name='Georgia')
self.label02.bind(size=self.label02.setter('text_size'))
self.label02.font_size = '14.5dp' # something that'll give texture bigger than phone's screen size
root.add_widget(self.label02)
with self.label02.canvas:
Color(0, 0, 0, 0)
Rectangle(pos=self.label02.pos, size=self.label02.size)
self.requestsspinner = Spinner(
# default value shown
text='Select Process',
# available values will be binded to the combo
values=("Normal", "Official"),
# just for positioning in our example
size_hint=(None, None),
size=(110, 20),
pos_hint={'center_x': .66, 'center_y': .75}, font_name='Georgia')
self.requestsspinner.font_size = '14.5dp'
self.requestsspinner.bind(text=show_selected_value)
self.requestsspinner.bind(text=self.CreateLable)
root.add_widget(self.requestsspinner)
return root
def CreateLable(self, spinner, text):
config = self.config
if text == "Official":
lbl = config.get('LefConfigWindowSection', 'NormalFolderName')
self.label03 = Label(text=lbl, pos_hint={"center_x": .66, "center_y": .65}, size_hint=(1.0, 1.0),
halign="left", valign="middle", font_name='Georgia')
self.label03.bind(size=self.label03.setter('text_size'))
self.label03.font_size = '14.5dp'
self.root.add_widget(self.label03)
with self.label03.canvas:
Color(0, 0, 0, 0)
Rectangle(pos=self.label03.pos, size=self.label03.size)
elif text == "Normal":
self.label03.text = ""
если name == " main": LRefConfigAutomation (). Run ()