Tcl/Tk 8.5 erschienen

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

www.tcl.tk hat geschrieben:The 8.5 release was a long time in development, and brought about several good enhancements to Tcl/Tk.

Highlights of Tcl 8.5
  • Speed: 8.5 now runs 10% faster than 8.4 with bytecode improvements, object caching and reduced memory usage.
    Bignums: Tcl now supports arbitrary-precision integers, which improves math operations on large integers.
    Safer interps: Tcl's powerful safe interpreter mechanism now has improved control of time and command limits in slave interpreters.
    clock command: More robust implementation of command for specifying time, with significant l10n and i18n improvements.
    dict command: New data structure that allows access to data by value rather than a variable name, which is substantially faster.
    Additional improvements: Faster list search, new and improved mathematics procedures, anonymous procedures, new ways to package Tcl extensions, Tcl-level custom channel types, file and line location information for each command, and more.
Highlights of Tk 8.5
  • New modern theming engine: New and complementary widgets that make use of platform-specific theming on Mac OS X and Windows to better fit in with those environments, and feature an improved look and feel under X11. (screenshots)
    New widgets: Part of the themed widget set, Tk now has core notebook, combobox, treeview and progressbar widgets.
    text widget: Smooth scrolling, widget peering, and improved procedures for counting and replacing text.
    Font rendering: Now uses anti-aliased text under X11, and a more modern text engine (ATSUI) on Mac OS X.
    Additional improvements: Window transparency, new fullscreen option for windows, enhancements to specific widgets and window layout, and more.
Ob sich das auf Python auswirkt :3? (Sollte es ja. Tkinter is doch auch nur'n Wrapper, oder hab ich das falsch verstanden?)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ja, der ganze Tk-Teil wirkt sich positiv auf Tkinter aus. Scheint als hätten die inzwischen auch festgestellt, das dass unter Unix grausig ausschaut. Und wenn man mal nachdenkt was das ist und überlegt, wie lange das schon in anderen Toolkits implementiert ist, kommt man ins grübeln.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Ich hoff' mal, dass landet bald in ArchLinux Testing, damit ich die Ergebnisse begutachten kann :3 Bin gespannt, ob es ein wenig nativer aussieht....
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dann musst du aber Python gegen Tk 8.5 kompilieren lassen und ich weiß nicht wie das mit Tk ist, ob man da nicht für jede Version Tkinter einzeln anpassen muss.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Leonidas hat geschrieben:Dann musst du aber Python gegen Tk 8.5 kompilieren lassen und ich weiß nicht wie das mit Tk ist, ob man da nicht für jede Version Tkinter einzeln anpassen muss.
Es gibt'ne Menge mehr Befehle, aber ich weiß nicht ob sich die API allgemein geändert hat. Ich schätz mal schon, dass es zu'ner Anpassung kommen wird... Früher oder später. Wieso muss man es gegen eine neue TK Version kompilieren? Ich dachte es wrapt sozusagen nur um eine C Bibliothek, die TCL/TK aufruft.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackVivi hat geschrieben:Wieso muss man es gegen eine neue TK Version kompilieren? Ich dachte es wrapt sozusagen nur um eine C Bibliothek, die TCL/TK aufruft.
Siehe hier. Die C-Bibliothek heißt `tkinter` und wird von Python gestellt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Leonidas hat geschrieben:
BlackVivi hat geschrieben:Wieso muss man es gegen eine neue TK Version kompilieren? Ich dachte es wrapt sozusagen nur um eine C Bibliothek, die TCL/TK aufruft.
Siehe hier. Die C-Bibliothek heißt `tkinter` und wird von Python gestellt.
Achso, dankeschön :3
lunar

Leonidas hat geschrieben:Und wenn man mal nachdenkt was das ist und überlegt, wie lange das schon in anderen Toolkits implementiert ist, kommt man ins grübeln.
Tatsächlich? Ich muss nicht mehr grübeln, ich bin schon lange der Überzeugung, dass Tk in die Tonne gehört. Daran hat sich auch mit diesem neuen Release nichts geändert.

Wirklich neu ist nämlich nichts: Theme Engines, Baumansichten, Fortschrittsbalken und Kantenglättung für Text findet man in allen wichtigen modernen GUI Toolkits (wxWidgets, Qt, Gtk).

Damit hat Tk zumindest auf manchen Gebieten den Anschluss an moderne Toolkits geschafft. Es bleiben imho immer noch Schwächen im Design, die dem Einsatz von Tk entgegenstehen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lunar hat geschrieben:Wirklich neu ist nämlich nichts: Theme Engines, Baumansichten, Fortschrittsbalken und Kantenglättung für Text findet man in allen wichtigen modernen GUI Toolkits (wxWidgets, Qt, Gtk).
Doch, doch, es ist neu und das ist ja gerade das erstaunliche - eben neu in Tk. Das die anderen das nicht schon seit langem können ist mir -ahem- durchaus bekannt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

Leonidas hat geschrieben:
lunar hat geschrieben:Wirklich neu ist nämlich nichts: Theme Engines, Baumansichten, Fortschrittsbalken und Kantenglättung für Text findet man in allen wichtigen modernen GUI Toolkits (wxWidgets, Qt, Gtk).
Doch, doch, es ist neu und das ist ja gerade das erstaunliche - eben neu in Tk.
Ich habe die Sache nicht aus dem Blickpunkt eines Tk Nutzers betrachtet, für welche dies alles zweifellos sensationell ist. Für mich als Qt Nutzer (fast schon Fan ;) ) sind die jetzt in Tk eingeführten Features keineswegs "neu", sondern im Gegenteil altbekannt. Auf diese Tatsache wollte ich nochmals hinweisen.
Das die anderen das nicht schon seit langem können ist mir -ahem- durchaus bekannt.
Darum ging es doch gar nicht. Ich weiß, dass dir das bekannt ist ;) Mir ging es darum heraus zu stellen, dass die ganze Sache eigentlich absolut unspektakulär ist, wenn man sie aus der Perspektive eines anderen GUI Toolkits betrachtet. Was andere schon lange können, kann Tk jetzt eeendlich auch. Nichts, was geeignet wäre, mich zu beeindrucken. Im Gegenteil, es lässt in mir noch mehr Zweifel an Tk aufkommen.
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

juhu lunar in action :wink:
lunar

pyStyler hat geschrieben:juhu lunar in action :wink:
Tja, ich kann eben nicht aus meiner Haut ;)

(Lass uns im Interesse der anderen User diesmal keine Diskussion führen. Ich weiß bereits, dass du Tk toll findest ;) )
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

lunar hat geschrieben:
pyStyler hat geschrieben:juhu lunar in action :wink:
Tja, ich kann eben nicht aus meiner Haut ;)

(Lass uns im Interesse der anderen User diesmal keine Diskussion führen. Ich weiß bereits, dass du Tk toll findest ;) )
Ok diesmal nicht. :D


Gruss
pyStyler
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

lunar hat geschrieben: (Lass uns im Interesse der anderen User diesmal keine Diskussion führen. Ich weiß bereits, dass du Tk toll findest ;) )
Ich auch! :D
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

@lunar
ich weis nicht wie viel code du in QT fuer ein "helo world" programm brauchst, aber in Tkinter gehts so:

Code: Alles auswählen

In [1]: from Tkinter import *
In [2]: Label(text="hello world").pack()
:wink:
cp != mv
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Costi hat geschrieben:@lunar
ich weis nicht wie viel code du in QT fuer ein "helo world" programm brauchst, aber in Tkinter gehts so:

Code: Alles auswählen

In [1]: from Tkinter import *
In [2]: Label(text="hello world").pack()
:wink:
Naja, ein

Code: Alles auswählen

Tk().mainloop()
sollte man schon noch anhängen.
MfG
HWK
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Costi hat geschrieben:ich weis nicht wie viel code du in QT fuer ein "helo world" programm brauchst, aber in Tkinter gehts so:

Code: Alles auswählen

In [1]: from Tkinter import *
In [2]: Label(text="hello world").pack()
Und gleich mal einen Fehler in den zwei Zeilen gemacht - merke: Stern-Imports sollten immer vermieden werden. Auch wenn du das in einem interaktiven Interpreter ausführst und dann hier postest. Irgendwer wird das finden und glauben dass das so richtig ist.

Und "Hello World" als Beispiel für die Features eines Toolkits zu nehmen ist schlichtweg Blödsinn. Was beweist das denn, außer dass "Hello World" in einem Toolkit kürzer zu schreiben ist als im anderen? Das lässt sich genau gar nicht auf andere Sachen übertragen. "Hello World" ist in PyGTK kürzer als in wxPython, trotzdem ist das kein sinnvolles Argument für PyGTK und gegen wxPython.

Das ist so als würde mir jemand sagen, das Ruby besser ist als Python, weil ``puts 'Hello World'`` einen Buchstaben kürzer ist als ``print 'Hello World'``.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

OMG und bei Python 3.0 kommen dann auch noch Klammern dazu. Wir sind verloren. ;-)
lunar

BlackJack hat geschrieben:OMG und bei Python 3.0 kommen dann auch noch Klammern dazu. Wir sind verloren. ;-)
Ich glaube, wir müssen doch alle wieder zu PERL wechseln... es heißt ja auch: In der Kürze liegt die Würze ;)
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

Naja, ein

Code: Alles auswählen

Tk().mainloop()
sollte man schon noch anhängen.
muss man nicht im read-eval-loop (oder wie heist das nochmal in python?)
ich glaube aber unter windows schon

und fuer zwei zeilen code schaden sternchen imports wirklich nicht


sicher kann man nicht immer direkt aus der laenge eines "hello world" programms beurteilen ob einE prorgrammiersprache/toolkit *besser* ist als ein anderes. in der regel aber schon :lol:
cp != mv
Antworten