Hallo,
ich habe mehrere Skripte dich ich nach und nach mit einer grafischen Oberfläche versehe. So lange ich jedoch noch nicht alle Skripte angepasst habe, muss bei einigen noch immer mit dem Terminal gearbeitet werden um z.B. Werte ein zu geben.
Das Problem ist nun, dass ich kein zusätzliches Fenster haben will, also 1x Terminal wo das Skript ausgeführt wird und ein mal das Gtk-Fenster.
Schön wäre es, wenn ich das grafische Programm ohne Terminal Starten könnte. Das Terminal jedoch z.b. mit einem Gtk Expander am unteren Bereich meines Fensters ausklappbar wäre. Evtl. lässt sich da ja etwas mit dem vte-Modul verwirklichen.
Ich komme nicht weiter, da ich zwar z.B. mein Skript in diesem virtuellen Terminal ausführen kann, dies dann jedoch wieder die Oberfläche in einem neuen Fenster lädt.
Ausführendes Terminal mit auf Oberfläche anzeigen GTK Box
@martinjo:
Was meinst Du mit "die Oberfläche wieder in einem neuen Fester lädt" ? Wenn Du per vte ein echtes Terminal mit Systemshell in Deine Anwendung holst, ist das Terminal vgl. mit einem xterm und verhält sich auch so. Wenn Du darin Dein Programm nochmal startest, läuft es eben ein zweites Mal.
Die Frage ist da, wie sind Deine Skripte aufgebaut, was brauchen die an Applikations-Ressourcen und suchst Du nicht eigentlich eine in-App Konsole, welche auf nur auf Applikationsobjekte zugreift und modifizieren kann und eben nicht ein volles Terminal.
Was meinst Du mit "die Oberfläche wieder in einem neuen Fester lädt" ? Wenn Du per vte ein echtes Terminal mit Systemshell in Deine Anwendung holst, ist das Terminal vgl. mit einem xterm und verhält sich auch so. Wenn Du darin Dein Programm nochmal startest, läuft es eben ein zweites Mal.
Die Frage ist da, wie sind Deine Skripte aufgebaut, was brauchen die an Applikations-Ressourcen und suchst Du nicht eigentlich eine in-App Konsole, welche auf nur auf Applikationsobjekte zugreift und modifizieren kann und eben nicht ein volles Terminal.
@jerch
Eigentlich könnte ich das Problem wohl so lösen, dass ich nur die Skripte ohne Oberfläche in diesem vte-Terminal ausführe.
Das eigentliche Problem ist jedoch, dass ich von allen Programmen, also auch das Hauptprogramm welches die Skripte ohne Oberfläche ausführt, den Output gerne in diesem Terminal sehen würde.
Evtl. ist es so besser beschrieben:
Wenn ich ein Terminal öffne und darin ein Skript mit Grafischer Oberfläche ausführe öffnet sich ein neues Fenster mit der grafischen Oberfläche. print und raw_input werden jedoch im Terminal angezeigt bzw. verlangt.
Ich suche eine Möglichkeit, dass ich nur die Grafische Oberfläche starten, ich jedoch print und raw_input in einem an diese Oberfläche angehängtem Terminal sehen kann.
Ich hatte mir erst überlegt eine Gtk-App mit zwei Bereichen zu erstellen. Im oberen Bereich sollte eine leere Gtk.Box rein. Unten das Terminal. Dann aus dem Terminal die richtige App starten die sich dann im der oberen Gtk.Box einnistet.Was meinst Du mit "die Oberfläche wieder in einem neuen Fester lädt" ?
Eigentlich könnte ich das Problem wohl so lösen, dass ich nur die Skripte ohne Oberfläche in diesem vte-Terminal ausführe.
Das eigentliche Problem ist jedoch, dass ich von allen Programmen, also auch das Hauptprogramm welches die Skripte ohne Oberfläche ausführt, den Output gerne in diesem Terminal sehen würde.
Evtl. ist es so besser beschrieben:
Wenn ich ein Terminal öffne und darin ein Skript mit Grafischer Oberfläche ausführe öffnet sich ein neues Fenster mit der grafischen Oberfläche. print und raw_input werden jedoch im Terminal angezeigt bzw. verlangt.
Ich suche eine Möglichkeit, dass ich nur die Grafische Oberfläche starten, ich jedoch print und raw_input in einem an diese Oberfläche angehängtem Terminal sehen kann.
@martinjo:
Wenn Du nur stdin und stdout der Applikation in einer Box anzeigen lassen willst, kannst Du diese ja einfach umbiegen. Eigenständige Subskripte kannst Du per subprocess.Popen bzw. .communicate laufen lassen. Deren stdout könntest Du dann z.B. auch an Deine Box weitergeben. Bin mir nicht sicher, ob ich Dein Setup richtig erfasst habe
Wenn Du nur stdin und stdout der Applikation in einer Box anzeigen lassen willst, kannst Du diese ja einfach umbiegen. Eigenständige Subskripte kannst Du per subprocess.Popen bzw. .communicate laufen lassen. Deren stdout könntest Du dann z.B. auch an Deine Box weitergeben. Bin mir nicht sicher, ob ich Dein Setup richtig erfasst habe
