Ausführendes Terminal mit auf Oberfläche anzeigen GTK Box

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
martinjo
User
Beiträge: 189
Registriert: Dienstag 14. Juni 2011, 20:03

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.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@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.
Benutzeravatar
martinjo
User
Beiträge: 189
Registriert: Dienstag 14. Juni 2011, 20:03

@jerch
Was meinst Du mit "die Oberfläche wieder in einem neuen Fester lädt" ?
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.

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.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@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 ;)
Antworten