Potrzebuję tylko po to, by wymienić nazwę czcionki jako RSQFONT, jeśli wartość 123 lub regularna, jeśli nie jest ceniona. Więc mam ten kod ... Jeśli 123.Value: Fontname = 'RSQFONT' ELUE: Fontname = 'Regularne' "" i ...

0
fairbird 20 marzec 2021, 17:35

1 odpowiedź

Najlepsza odpowiedź

Jak już wspomniano w komentarzach - Użyj F-String:

font_name='RSQFont'

html = f"""<screen backgroundColor="#16000000" name="AGC_Picon" position="210,130" size="800,470" title="Quick Signal Info" zPosition="1" flags="wfNoBorder">
    <widget source="Title" render="Label" font="{font_name};23" foregroundColor="#00bbbbbb" position="0,0" size="350,30" transparent="1" />
    <widget source="global.CurrentTime" render="Label" position="545,0" size="250,30" font="{font_name};23" valign="top" halign="left" foregroundColor="#00bbbbbb" transparent="1">
        <convert type="ClockToText">Format:%d-%m-%Y   %H:%M:%S</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="599,403" size="200,25" font="{font_name}; 20" halign="center" backgroundColor="#54111112" foregroundColor="#fec000" transparent="1">
        <convert type="RaedQuickServName2">%F %p %Y %M %s</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="599,435" size="200,23" font="{font_name}; 18" halign="center" backgroundColor="#54111112" foregroundColor="#00bbbbbb" transparent="1">
        <convert type="RaedQuickServName2">%c %l %h %m %g %b %e %S</convert>
    </widget>
    <widget name="Satfinder" position="5,319" size="300,18" zPosition="1" font="{font_name};17" halign="left" backgroundColor="#54111112" foregroundColor="#0000deff" transparent="1" />
</screen>"""

print(html)

Lub str.format() Metoda:

font_name='RSQFont'

html = """<screen backgroundColor="#16000000" name="AGC_Picon" position="210,130" size="800,470" title="Quick Signal Info" zPosition="1" flags="wfNoBorder">
    <widget source="Title" render="Label" font="{font};23" foregroundColor="#00bbbbbb" position="0,0" size="350,30" transparent="1" />
    <widget source="global.CurrentTime" render="Label" position="545,0" size="250,30" font="{font};23" valign="top" halign="left" foregroundColor="#00bbbbbb" transparent="1">
        <convert type="ClockToText">Format:%d-%m-%Y   %H:%M:%S</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="599,403" size="200,25" font="{font}; 20" halign="center" backgroundColor="#54111112" foregroundColor="#fec000" transparent="1">
        <convert type="RaedQuickServName2">%F %p %Y %M %s</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="599,435" size="200,23" font="{font}; 18" halign="center" backgroundColor="#54111112" foregroundColor="#00bbbbbb" transparent="1">
        <convert type="RaedQuickServName2">%c %l %h %m %g %b %e %S</convert>
    </widget>
    <widget name="Satfinder" position="5,319" size="300,18" zPosition="1" font="{font};17" halign="left" backgroundColor="#54111112" foregroundColor="#0000deff" transparent="1" />
</screen>""".format(font=font_name) # or .format(**{'font':font_name})
print(html)

Możesz także przejść do bardziej złożonego rozwiązania za pomocą silnika szablonu, takiego jak jinja2, który jest standardowym podejściem do standardu Web-Development

1
buran 20 marzec 2021, 16:32