【问题标题】:How can i send a string from python to kv fille using Builder.load如何使用 Builder.load 将字符串从 python 发送到 kv 文件
【发布时间】:2021-04-26 20:22:05
【问题描述】:

如何在我的 kv 文件中使用我的 self.username 作为我的 MDToolbar 的标题。 这是python代码

   class GipApp(MDApp):
def build(self,username):
    self.theme_cls.primary_palette = 'Blue'
    screen = Builder.load_string(screen_helper)
    self.username = "unknown"
    self.usernameKV = "unknown"
    return screen


def verify(self, username, password):
    if username != "" and password != "":
        for row in MySqlNames:
            if row[0].strip() == username:
                sql = "SELECT Password from ID191774_6itn1project7.Users where Username = %s "
                mycursor.execute(sql, (username))
                TestPassword = mycursor.fetchall()
                for row3 in TestPassword:
                    if row3[0].strip() == password:
                        dialog = MDDialog(title="Login successful")
                        dialog.open()
                        self.username = username
                        GipApp.get_running_app().root.current = 'main'

我想在下一个 kivy 代码中使用 self.username 中的新值作为标题。

<MainScreen>:
canvas.before:
    Rectangle:
        pos: self.pos
        size: self.size
        source: 'mountains.jpg'
name: 'main'
NavigationLayout:
    ScreenManager:
        Screen:    
            orientation: 'vertical'
            MDToolbar:
                title: ?????????
                left_action_items:[["menu",lambda x: nav_drawer.toggle_nav_drawer()]]
                elevation :12
                pos_hint:{"center_x": .5, "center_y": .95}

我希望有人能帮我解决这个问题。

【问题讨论】:

    标签: python kivy kivy-language kivymd


    【解决方案1】:

    由于代码是 sn-ps 格式奇怪我不确定,但我建议将用户名设置为字符串属性,像这样

    import kivy.properties as kypros

    username = kypros.StringProperty()

    我不会在“build”函数中声明它,我宁愿在 GipApp 类中声明它,(我假设 verify 和 build 是此类中的方法),然后在将其设置为.kv 文件,执行以下操作:title: root.username。我希望这会有所帮助,我不确定 100%,因为 sn-ps 的格式非常糟糕。干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多