Seite 1 von 1

Verfasst: Freitag 5. Dezember 2008, 19:39
von abgdf
Richtig ist, ich bin immer noch bei Python 2.4, SuSE 10.0 und einem Rechner von 2003. Da ich nicht neue 3D-Spiele zocke, geht das recht gut.
Alle Features auf der Seite sind von mir getestet und funktionieren in 2.4. Da ich schon denke, daß sich die Python-Programmierer auch um Abwärtskompatibilität bemühen, funktioniert das, was auf meiner Seite steht, immer noch. Man könnte heute das eine oder andere vielleicht etwas moderner machen, insgesamt abraten muß man aber nicht.

Gruß

Verfasst: Freitag 5. Dezember 2008, 20:57
von Leonidas
abgdf hat geschrieben:Man könnte heute das eine oder andere vielleicht etwas moderner machen, insgesamt abraten muß man aber nicht.
Klar, Deprecation warnings und schwerere Migration auf neuere Releases die sowas gar nicht mehr haben ist toll. Auch der zusätzliche unnötige Speicherverbrauch ist sicher sinnvoll. Also ehrlich, direkt über Dateien zu iterieren geht schon seit Ewigkeiten. ``readlines()`` hat schon unter 2.4 niemand mehr genutzt.

Außerdem bekommen die Kommentare alle zu hören die dann die Anleitung lesen und ihren Code dann irgendwo posten. Warum es also nicht gleich in der Dokumentation an der Zentralen Stelle aktuell halten statt den Leuten Dinge zu vermitteln die sie dann später sowieso anders machen werden so dass das alte Wissen keinen Wert hat? Zudem ich ja durchaus schon viele Stellen angesprochen habe so dass du dir nichtmal die Arbeit machen musst selbst nach den Dingen zu suchen die outdated sind.

Verfasst: Dienstag 24. Februar 2009, 14:42
von Blanka
Ich habe ein kleines Problem mit einem Menu, das ich für ein Programm benötige:

Code: Alles auswählen

#Menu
menubar=Tkinter.Menu(tk)
dateiMenu=Tkinter.Menu(menubar)
arbeitMenu=Tkinter.Menu(menubar)
hilfeMenu=Tkinter.Menu(menubar)
dateiMenu.config(bg="#FFEC8B")
arbeitMenu.config(bg="#FFEC8B")
hilfeMenu.config(bg="#FFEC8B")
dateiMenu.add_command(label="Neues Projekt",command=bla)
dateiMenu.add_command(label="Projekt oeffnen", command=bla)
dateiMenu.add_command(label="Projekt speichern", command=bla)
dateiMenu.add_command(label="Rangliste drucken", command=bla)
dateiMenu.add_command(label="Projekt schliessen", command=bla)
arbeitMenu.add_command(label="Station erstellen", command=bla)
arbeitMenu.add_command(label="Station einlesen", command=bla)
arbeitMenu.add_command(label="Aenderungen", command=bla)
hilfeMenu.add_command(label="Hilfe", command=bla)
menubar.add_cascade(label="Datei", underline=0,menu=dateiMenu)
menubar.add_cascade(label="Bearbeiten",underline=0,menu=arbeitMenu)
menubar.add_cascade(label="Hilfe", underline=0,menu=hilfeMenu)
tk.configure(menu=menubar)
Mein Problem ist nun, dass einfach ein Separator hinzugefügt wird, den ich ja aber gar nicht einfüge... Warum und wie kriege ich den weg?

Verfasst: Dienstag 24. Februar 2009, 15:12
von numerix
Blanka hat geschrieben:Ich habe ein kleines Problem mit einem Menu, das ich für ein Programm benötige:
Hallo Blanka, willkommen im Forum!

Positiv ist, dass du die Code-Tags gleich entdeckt hast ... :wink:

Empfehlung für künftige Postings:
Entweder lauffähigen Code posten (das wäre in diesem Fall das beste, damit man sich ansehen kann, was du unter Separatoren verstehst - es sind nämlich keine ...) oder Snippets, die so sind, dass man sich nicht den Rest erraten muss, um lauffähigen Code daraus zu machen (was ist z.B. tk ?).

Und: Bei älteren Threads wie diesem ist es meist besser, einen neuen zu eröffnen, weil man sich ansonsten möglicherweise völlig umsonst den ganzen Thread nochmal ansieht, um am Ende festzustellen, dass das überflüssig war.

Jetzt aber die Lösung: Was dich stört sind keine Separatoren (die müsste man nämlich ausdrücklich hinzufügen), sondern die sog. Abreißleiste. Das ist ein besonderes Feature. Wenn du darauf klickst, kannst du das Menü abreißen und als eigenständiges Fenster herumschieben.
Wenn du das nicht willst, musst du bei der Erzeugung den Schlüsselwortparameter "tearoff=False" setzen - dann ist die Abreißleiste weg:

Code: Alles auswählen

dateimenu = Tkinter.Menu(menubar, tearoff=False)
Im übrigen könnte dein Code auch noch stylistische Verbesserungen vertragen. "PEP 8" ist hier das Stichwort.