Kivy: Propriétés dans f-string non liées

Créé le 11 mai 2019  ·  3Commentaires  ·  Source: kivy/kivy

Versions

  • Python : 3.7.3
  • Système d'exploitation : ArchLinux (noyau 5.0.11)
  • Kivy : 1.10.1
  • Méthode d'installation Kivy : Poésie (pip)

La description

Dans les fichiers KV, la syntaxe "{}".format(object.property) se lie correctement, mais pas la syntaxe f"{object.property}" .

Dans l'exemple ci-dessous :

  • la première étiquette n'est qu'une reliure brute,
  • la deuxième étiquette utilise la fonction format() ,
  • la troisième étiquette utilise un f-string .

Code et journaux

from kivy.app import App
from kivy.lang import Builder

kv = r"""
BoxLayout:
    orientation: 'vertical'

    TextInput:
        id: text_input
        text: "foo"
    Label:
        text: text_input.text
    Label:
        text: "text input value using `format()`: {}".format(text_input.text)
    Label:
        text: f"text input value using f-string: {text_input.text}"

"""
class SandboxApp(App):
    def build(self):
        return Builder.load_string(kv)

def main():
    SandboxApp().run()

if __name__ == '__main__':
    main()

image

Feature

Commentaire le plus utile

J'ai jeté un coup d'œil rapide et python ast a un nouveau nœud pour les f-strings (appelé FormattedValue ). Cela signifie que nous devrions pouvoir implémenter en utilisant l'analyseur ast.

Si j'ai le temps à l'avenir, je prévois de mettre à jour la branche du compilateur kv pour supprimer la syntaxe python et ne m'en tenir qu'à la syntaxe kv traditionnelle et essayer de l'intégrer à kivy. Ensuite, il devrait être facile d'ajouter un support pour cela dans la dernière étape d'analyse.

Tous les 3 commentaires

J'ai jeté un coup d'œil rapide et python ast a un nouveau nœud pour les f-strings (appelé FormattedValue ). Cela signifie que nous devrions pouvoir implémenter en utilisant l'analyseur ast.

Si j'ai le temps à l'avenir, je prévois de mettre à jour la branche du compilateur kv pour supprimer la syntaxe python et ne m'en tenir qu'à la syntaxe kv traditionnelle et essayer de l'intégrer à kivy. Ensuite, il devrait être facile d'ajouter un support pour cela dans la dernière étape d'analyse.

Double de #6108 ?

fermeture en double de # 6108

Cette page vous a été utile?
0 / 5 - 0 notes