[Er...] Posted April 25, 2022 Share Posted April 25, 2022 Hallo! Ich versuche in einem Dialog eine Variable im Fließtextfeld anzuzeigen. Das gelingt mir nur bedingt. In der oberen Ausgabe des Dialogs wäre der Text formatiert (größere Schriftart, fett, und mittig), bekomme aber die Variable y da nicht angezeigt. Im unteren Textfeld bekomme ich die Ausgabe mit dem Umweg einer formatierten Variable (output) hin, kann aber den Text nur bedingt formatieren (nicht fett und nicht mittig). Wie könnte da eine Lösung aussehen die Variable in dem oberen Teil mit auszugeben? import gom y = 0 for x in range (0,10): y = y + 1 name = f"Anzahl {y}" print(name) DIALOG=gom.script.sys.create_user_defined_dialog (content='<dialog>' \ ' <title>Nächste Messung</title>' \ ' <style></style>' \ ' <control id="OkCancel"/>' \ ' <position>center</position>' \ ' <embedding>always_toplevel</embedding>' \ ' <sizemode>automatic</sizemode>' \ ' <size height="233" width="400"/>' \ ' <content columns="1" rows="2">' \ ' <widget columnspan="1" row="0" type="display::text" column="0" rowspan="1">' \ ' <name>text</name>' \ ' <tooltip></tooltip>' \ ' <text><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">' \ '<html><head><meta name="qrichtext" content="1" /><style type="text/css">' \ 'p, li { white-space: pre-wrap; }' \ '</style></head><body style=" ">' \ '<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:18pt; font-weight:600;"> Anzahl: </span></p></body></html></text>' \ ' <wordwrap>false</wordwrap>' \ ' </widget>' \ ' <widget columnspan="1" row="1" type="display::text" column="0" rowspan="1">' \ ' <name>text_1</name>' \ ' <tooltip></tooltip>' \ ' <text></text>' \ ' <wordwrap>false</wordwrap>' \ ' </widget>' \ ' </content>' \ '</dialog>') # # Event handler function called if anything happens inside of the dialog # def dialog_event_handler (widget): pass DIALOG.handler = dialog_event_handler print( DIALOG.text_1.__doc__ ) DIALOG.text_1.default_font_size = 18 output = f"Anzahl: {y}" #print (output) DIALOG.text_1.text = output RESULT=gom.script.sys.show_user_defined_dialog (dialog=DIALOG) Mit freundlichen Grüßen E. Pusch Link to comment Share on other sites More sharing options...
[Th...] Posted April 26, 2022 Share Posted April 26, 2022 Hi, dem "text"-Knoten eines Widgets vom Typ "display::text" kann man beliebigen CSS-formatierten HTML-Code zuweisen. Im konkreten Fall würde es reichen die Zeile output = f"Anzahl: {y}" durch folgende Zeile zu ersetzen (Achtung mit " und ' ). output = f'<p align="center" style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style="font-size:18pt; font-weight:600;">Anzahl: {y}</span></p>' Klärt dies das Problem verständlich? Link to comment Share on other sites More sharing options...
[Er...] Posted April 27, 2022 Author Share Posted April 27, 2022 Hallo! Prima, das funktioniert! War mir nicht bewusst das man das so verschachteln kann. Dankeschön! Mit freundlichen Grüßen E. Pusch Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in