2010-02-24 4 views
9

Ich habe für eine Weile ein großes Python-Programm gebaut und würde gerne wissen, wie ich den Titel des Programms einstellen würde? Auf einem Mac wird der Titel des Programms, das den Fokus hat, in der oberen linken Ecke des Bildschirms angezeigt, neben dem Apple-Menü. Momentan zeigt dies nur das Wort "Python", aber ich würde natürlich gerne meinen Programmtitel dort stattdessen sehen.Wie setze ich den Programmtitel in Python?

Antwort

3

Da Ihr Programm von Python interpretiert wird, wird Python selbst ausgeführt - der Interpreter Programm. Sie müssten Ihr Python-Skript mit Python zu einer einzigen ausführbaren Datei zusammenführen, die einen separaten Namen haben könnte. Für Windows gibt es py2exe, das macht das, aber ich habe keine Ahnung, ob es ein ähnliches Tool für Mac OS gibt (und wenn es dazu nötig ist, gibt es unter der Haube etwas BSD?).

+0

Vielen Dank für die Informationen gibt es in der Tat ein Äquivalent namens "py2app", aber ich habe nicht erwartet, dass das der einzige Weg war, es zu tun – FrederikNS

+0

@FrederikNS, ist es nicht. –

10

Es hängt davon ab, welche Art von Anwendung Sie haben. Wenn es sich um eine grafische Anwendung handelt, können Sie mit den meisten grafischen Toolkits den Titel eines Fensters ändern (tk, das mit python mitgeliefert wird, indem Sie die Methode title() Ihres Fensterobjekts aufrufen, genau wie gtk, die Sie verwenden können) die set_title() Methode auf einem Gtk.Window Objekt)

Wenn Sie sprechen über den Titel des Terminal-Fenster zu ändern (für mac oder Linux), die diese Option haben (von here):

import sys 
sys.stdout.write("\x1b]2;Another Title\x07") 

für Windows gibt es eine andere Methode:

import os 
os.system("title Yet Another Title") 
+0

Danke für die Windows-Antwort als Nebenerscheinung. War sehr nützlich für mich. – Oddthinking

+0

sys.stdout.write ("\ x1b] 2; Ein anderer Titel \ x07") ändert den Titel des aktuellen Fensters, was passiert, wenn ich den Titel eines Terminals ändern muss, das vom Python-Subprozess in Linux geöffnet wurde –