Hallo !
Einige Änderungen: http://paste.pocoo.org/show/131766/
Gruß Frank
Tk - Kalender
- krisi12345
- User
- Beiträge: 205
- Registriert: Mittwoch 4. März 2009, 16:56
- Wohnort: Das schöne München
- Kontaktdaten:
passt!
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
Oh, tut mir leid. Da hab ich wohl zu schnell geguckt. Das ist aber trotzdem kein Grund, um von kaytac überhört zu werdenkrisi12345 hat geschrieben:Also eigentlich wollte Ich nur die Farben und Schriftart/größe ändern.krisi: Es existiert das babel-Modul (babel.edgewall.org), um Wochentagsnamen und Monatsnamen automatisch zu lokalisieren.
Hallo kaytec!
Ein paar Vorschläge hätte ich da noch:
- Die __init__-Methode ist mittlerweile etwas lang und sehr unübersichtlich. Ich würde sie in mehrere Methoden unterteilen. Sollte auch nicht schwierig sein, die Blöcke bestehen im Prinzip ja schon.
- In "for column in xrange(1, :" sind mit 1 und 8 doch sicherlich die Tage der Wochen gemeint, das würde ich noch über ein "len" über "WEEK_DAYS" verweden.
- Sehe ich das richtig, dass Monate und Tage mit 1 beginnen? Das ist, zumindest aus Informatiker-Sicht, sehr ungewöhnlich. Das spart außerdem einige Sonderfälle, wie beispielsweise den in den Zeilen 199-201.
- "functools.partial" ist noch einen Blick wert, damit könnte man wohl die lambdas etwas loswerden.
- Ein "if state == True:" geht natürlich gar nicht
- Zeilen 153 bis 155 kann man sicher eleganter über den Vergleich von Tupeln lösen: (day, self.select_month, self.select_year) == time.localtime()[:3]
Sebastian
Ein paar Vorschläge hätte ich da noch:
- Die __init__-Methode ist mittlerweile etwas lang und sehr unübersichtlich. Ich würde sie in mehrere Methoden unterteilen. Sollte auch nicht schwierig sein, die Blöcke bestehen im Prinzip ja schon.
- In "for column in xrange(1, :" sind mit 1 und 8 doch sicherlich die Tage der Wochen gemeint, das würde ich noch über ein "len" über "WEEK_DAYS" verweden.
- Sehe ich das richtig, dass Monate und Tage mit 1 beginnen? Das ist, zumindest aus Informatiker-Sicht, sehr ungewöhnlich. Das spart außerdem einige Sonderfälle, wie beispielsweise den in den Zeilen 199-201.
- "functools.partial" ist noch einen Blick wert, damit könnte man wohl die lambdas etwas loswerden.
- Ein "if state == True:" geht natürlich gar nicht
- Zeilen 153 bis 155 kann man sicher eleganter über den Vergleich von Tupeln lösen: (day, self.select_month, self.select_year) == time.localtime()[:3]
Sebastian
Das Leben ist wie ein Tennisball.
Hallo EyDu !
Wie immer bekommt man von dir eine gute Kritik !
- Die _init_-Methode aufteilen ? Das verstehe ich noch nicht so .
- Das mit den WEEK_DAYS stimmt natürlich - die kannst du irgendwie nicht leiden .
- Bei Informatikern zählt man die Null mit - da hast du natürlich recht und ich werde es noch ändern, doch die Übergabe in ein datetime - Objekt geschieht über Zahlen ab 1 ...bis... 12 und so habe ich halt mit 1 angefangen.
- Das mit den functools.partial hatte ich schon gesehen, nur mir es anzuschauen habe ich noch nicht "gebacken" bekommen - bin alt und träge .
- jaja if state: hätte gelangt. Kommt eigentlich von einem anderen Versuch, den Status über den event auszulesen. Würde evtl. auch gehen, den dieser ist ja unterschiedlich und
würde auch eine Verzweigung ermöglichen. (help(event) --> http://paste.pocoo.org/show/131787/ ). Dies hatte ich über den event.type gelöst, doch ob dies wiederum plattformunabhängig ist ?
Danke Dir !
Gruß Frank
Wie immer bekommt man von dir eine gute Kritik !
- Die _init_-Methode aufteilen ? Das verstehe ich noch nicht so .
- Das mit den WEEK_DAYS stimmt natürlich - die kannst du irgendwie nicht leiden .
- Bei Informatikern zählt man die Null mit - da hast du natürlich recht und ich werde es noch ändern, doch die Übergabe in ein datetime - Objekt geschieht über Zahlen ab 1 ...bis... 12 und so habe ich halt mit 1 angefangen.
- Das mit den functools.partial hatte ich schon gesehen, nur mir es anzuschauen habe ich noch nicht "gebacken" bekommen - bin alt und träge .
- jaja if state: hätte gelangt. Kommt eigentlich von einem anderen Versuch, den Status über den event auszulesen. Würde evtl. auch gehen, den dieser ist ja unterschiedlich und
würde auch eine Verzweigung ermöglichen. (help(event) --> http://paste.pocoo.org/show/131787/ ). Dies hatte ich über den event.type gelöst, doch ob dies wiederum plattformunabhängig ist ?
Danke Dir !
Gruß Frank
Hallo !
@ derdon: Das Modul babel ist doch zum Übersetzen - oder?
Soweit geändert, nur das mit den Blöcken und der __init__() - Methode habe ich noch nicht so verstanden.
http://paste.pocoo.org/show/132154/
Gruß Frank
EDIT:
Bei der Verwendung des Kalenders in anderen Anwendungen, ist es besser die Kommunikation so zu gestalten, denn es kann sonst zu Fehlermeldungen kommen, weil self.id nicht immer bekannt ist.
@ derdon: Das Modul babel ist doch zum Übersetzen - oder?
Soweit geändert, nur das mit den Blöcken und der __init__() - Methode habe ich noch nicht so verstanden.
http://paste.pocoo.org/show/132154/
Gruß Frank
EDIT:
Bei der Verwendung des Kalenders in anderen Anwendungen, ist es besser die Kommunikation so zu gestalten, denn es kann sonst zu Fehlermeldungen kommen, weil self.id nicht immer bekannt ist.
Code: Alles auswählen
def get_select_date (self, event, state):
id = self.root.after(100, self.get_select_date, event, state)
if state:
self.date_label.config(text = self.calendar.select_date.strftime(
"Date: %d.%m.%y"))
else:
self.root.after_cancel(id)
Ja, damit kannst du die Zeilen 16-24 sparen und dabei neben Englisch und Deutsch noch viele andere Sprachen übersetzen:kaytec hat geschrieben:Hallo !
@ derdon: Das Modul babel ist doch zum Übersetzen - oder?
Code: Alles auswählen
>>> from babel import Locale, default_locale
>>> locale = Locale(default_locale())
>>> locale.days['format']['abbreviated']
{0: u'Mo.', 1: u'Di.', 2: u'Mi.', 3: u'Do.', 4: u'Fr.', 5: u'Sa.', 6: u'So.'}
>>> locale.months['format']['wide']
{1: u'Januar', 2: u'Februar', 3: u'M\xe4rz', 4: u'April', 5: u'Mai', 6: u'Juni', 7: u'Juli', 8: u'August',
9: u'September', 10: u'Oktober', 11: u'November', 12: u'Dezember'}
>>> locale = Locale('en', 'US')
>>> locale.days['format']['abbreviated']
{0: u'Mon', 1: u'Tue', 2: u'Wed', 3: u'Thu', 4: u'Fri', 5: u'Sat', 6: u'Sun'}
>>> locale.months['format']['wide']
{1: u'January', 2: u'February', 3: u'March', 4: u'April', 5: u'May', 6: u'June', 7: u'July', 8: u'August',
9: u'September', 10: u'October', 11: u'November', 12: u'December'}