kivy python微调器输出文本/string how to us

2024-05-14 07:38:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用从微调器到标签文本的所选字符串值,但是不能像下面的代码中看到的那样。帮助任何人!!!在

class LoginScreen(GridLayout):
   def __init__(self, **kwargs):
      tex=' '
      jj=0
      super(LoginScreen, self).__init__(**kwargs)
      self.cols = 2
      self.add_widget(Label(text='Pressure (barg)',height=11 ))
      self.username = TextInput(multiline=False, height=11)
      self.add_widget(self.username)
      self.add_widget(Label(text='Temperature (deg C)'))
      self.password = TextInput(multiline=False, height=11)
      self.add_widget(self.password)
      spinner = Spinner(text='Select..', values=s, size_hint=(None, None))

  def show_selected_value(spinner, text):
      print('The spinner','have text', text)
      jj=0
      for j in range(0,852,1):
      if b3112012[j][6]==text:
          tex=text
          jj=j+1
          break
      else:
          pass
      print('The index of selected is ', jj)
      print(tex)
      tex=text
      print('Index is:', jj)

      spinner.bind(text=show_selected_value)
      self.add_widget(spinner)
      #print('value' , show_selected_value)
      dlabel=Label(text="%s" % str(spinner.text))
      self.add_widget(dlabel)

当程序运行时,最后第二行即"dlabel=Label(text = "%s" % str(spinner.text))没有在dlabel文本中显示选定的微调器文本。如何让微调器索引或字符串值在代码中的任何位置使用?在


Tags: text文本selfaddvaluewidgetlabeltex
1条回答
网友
1楼 · 发布于 2024-05-14 07:38:01

我想你的缩进让你很难理解你的init方法。总之,我们的想法是保存要设置文本的Label小部件的实例。对你来说,这是德拉贝尔。正确的代码如下所示:

class LoginScreen(GridLayout):
   def __init__(self, **kwargs):
      super(LoginScreen, self).__init__(**kwargs)
      self.cols = 2
      self.add_widget(Label(text='Pressure (barg)',height=11 ))
      self.username = TextInput(multiline=False, height=11)
      self.add_widget(self.username)
      self.add_widget(Label(text='Temperature (deg C)'))
      self.password = TextInput(multiline=False, height=11)
      self.add_widget(self.password)
      spinner = Spinner(text='Select..', values=s, size_hint=(None, None))
      self.add_widget(spinner)
      self.dlabel = Label(text="%s" % str(spinner.text))
      self.add_widget(self.dlabel)

      def show_selected_value(spinner, text):
          """
          # dunno what is that for.
          jj=0
          for j in range(0,852,1):
              if b3112012[j][6]==text:
                  tex=text
                  jj=j+1
                  break
          """
          self.dlabel.text = text


      spinner.bind(text=show_selected_value)

相关问题 更多 >

    热门问题