Python und Dialog

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Habe mal ne Frage, wenn ich mit Dialog ( TUIs für die Konsole ) eine msgbox erstelle, dann habe ich meist in der Box, Zeilenumbrüche, die ich nicht möchte. Das passiert auch bei allen anderen Objekte, wie zum Beispiel infobox usw.
So, starte ich eine msgbox:

Code: Alles auswählen

    d.msgbox (u'Dies ist ein laaaaaanger String. Und noch einer...', width=-1, height=-1)
width=-1 und height=-1 bedeutet ja, das Dialog die Größe des Fensters automatisch bestimmt. Jetzt wird dieser Text innerhalb der Box ( meist bei Leerzeichen ), umgebrochen. Ersetze ich die Leerzeichen, mit einem Unterstrich dann wird nichts umgebrochen. Genau so, hätte ich es gerne, allerdings ohne Unterstriche ;)
Habe bis jetzt keine Option gefunden um das abzustellen.
Hat da jemand Rat?
BlackJack

@The Hit-Man: Also eigentlich ist ja der Wert 0 für `width` und `height` das Zeichen für automatische Grösse. Und dann hängen die Ausmasse der Box von der Länge des Textes und dem `aspect`-Argument ab. Wobei der Default-Wert dafür schon das ”breiteste” ist was möglich ist. Bleibt Dir also nur eine Breite und Höhe selber passend zu berechnen und vorzugeben. Also eher ein Zeichen das Du mit der Vorgabe glücklich sein solltest. :-)
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

@BlackJack
Also ist das nicht so einfach möglich? Selber berechnen wollte ich nicht unbeding. Mich wundert eben, das es unter Xdialog funktioniert und unter Dialog eben nicht.
Des weiteren bricht er den Text ja nicht um wenn ich keine Leerzeichen nutze denn dann ist alles schön in einer Zeile, trotz aspect.
Ich hatte mal nach nen paar Screenshots gesucht und gesehen, das es einige wohl hinbekommen haben, siehe zum Beispiel, die Textinstallation von Debian/Ubuntu alternate. Könnte auch sein, das die intern Whiptail nutzen.
Gibt es denn nen anderes Module außer Dialog, das meine Anforderung kann? Wie gesagt, die TUIs sollten eben auf der Konsole laufen. Und ich würde eben gerne selber bestimmen, wann eine Zeile umgebrochen werden soll. Ich wollte wie gesagt, keine festen Werte benutzen. Die sollten schon dynamisch bleiben aber auch noch nett aussehen.
BlackJack

@The Hit-Man: Debian benutzt sicher ``whiptail``, das ist ja von denen extra als Ersatz für ``dialog`` entwickelt worden. ``whiptail`` kennt ``--aspect`` als Option gar nicht, die machen das offensichtlich anders. Wie gesagt, Du kannst ja selber vorgeben wie gross die Box sein soll wenn Dir das so wichtig ist. Diese Tools sind nicht dazu da jeden kleinen Aspekt der Anzeige konfigurierbar zu machen, sondern einfach aus Shellskripten heraus eine etwas hübschere und sicherere Kommunikation mit dem Benutzer zu erlauben.

Und über ”nett aussehen” kann man wohl auch geteilter Meinung sein. Die Entwickler von ``dialog``, was es ja schon *ziemlich* lange gibt, fanden offenbar ein Verhältnis von 9 zu 1 als Default sinnvoll.

Ansonsten könntest Du vielleicht auch mal versuchen was mit „non-breaking space”-Zeichen passiert.
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Ansonsten könntest Du vielleicht auch mal versuchen was mit „non-breaking space”-Zeichen passiert.
Was ist das?
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Also mit whiptail geht das alles. Ich glaube, ich bleibe dann erst mal dabei.
Danke ...
Antworten