
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, da hier in der letzten Woche über Python und Qt gesprochen wurde, bin ich sicher, dass ich hier einen Tipp bekommen werde. Ich (als Python-Anfänger) habe mir in letzter Zeit ein paar Skripte programmiert, die auch zu meiner Zufriedenheit laufen. Jetz möchte ich diese Skripte aus einem Qt-Programm starten. Jetzt meine Frage: Wie kann ich erreichen, dass die Anzeige der Skripte (die wahrscheinlich auf stdout ausgegeben werden?) innerhalb des Qt-Programms angezeigt werden? Welches Widget muss ich dazu benutzen? Beste Grüße an alle, die an diesem sonnigen Sommertagsmorgen ihre Rechner hochfahren. - -- Uwe Wilske -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIYc4txTCcxZJNHrYRAitjAKCugPkYYPrSDm16ODIo/Uqpcl89CwCgqibh DpKvOZgxFWzYfuCrzvhRh8g= =9hzi -----END PGP SIGNATURE-----

Uwe Wilske <wnf@wlsoft.de> at Wednesday 25 June 2008, 06:48:45
Wie kann ich erreichen, dass die Anzeige der Skripte (die wahrscheinlich auf stdout ausgegeben werden?) innerhalb des Qt-Programms angezeigt werden?
Den Prozess mittels QProcess starten und die Signale "readyReadStandardError" und "readyReadStandardOutput" anfangen. Innerhalb der Slots für diese Signale kannst du per "readAllStandardError" bzw. "readAllStandardOutput" die Ausgabe des Prozesses lesen und in deinem Widget anzeigen.
Welches Widget muss ich dazu benutzen?
Bis Qt 4.3 ein QTextEdit. Ab Qt 4.4 wäre QPlainTextEdit zu empfehlen, da die QTextDocument-API für das Manipulieren von ASCII-Text ein bisschen bloated ist. Allerdings bin ich der Meinung, dass es eleganter, realitätsnäher und noch dazu lehrreicher ist, die Skripte so umzuschreiben, dass sie ohne Probleme als Module importiert werden können, und diese Module dann aus der GUI heraus anzusprechen. Just my 2 cents -- Freiheit ist immer die Freiheit der Andersdenkenden. (Rosa Luxemburg)
participants (2)
-
Sebastian Wiesner
-
Uwe Wilske