ein besonderer Texteditor und eine Urladung Tkinter

In letzter Zeit habe ich mich wieder viel mehr mit Python beschäftigt. Und es hat mir Spaß gemacht.

Was mir jedoch dabei anfangs wieder ein Dorn im Auge war, sind die Editoren. Da scheine ich dann doch sehr wählerisch zu sein. Notepad++ ist nur für Windows erhältlich, VSCode ist mir zu träge und für jede Programmiersprache eine extra IDE installieren mag ich auch nicht. Und das brachte mich dazu, mir über meinen Standardeditor Gedanken zu machen.

Natürlich kenne ich Vi(m), Emacs, Nano und viele andere. Aber ich würde sie nicht als meine Werkzeuge der Wahl bezeichnen, auch wenn ich mit einigen, wie Vim, gut zurecht komme.

Was erwarte ich denn von einem guten Editor? Syntax-Highlighting, Call Tips, Einrückungen, etc. Natürlich. Das können die meisten. Eine einfache und funktionierende Einrichtung von (Build/Run-)Befehlen möchte ich auch haben. Und last but not least: Mein Editor soll schnell starten und auf Eingaben flott reagieren. Es geschieht so oft, dass man eine Log-Datei hat, hier und da mal CSV, JSON oder was auch immer ansehen oder modifizieren möchte. Da will ich nicht lange warten müssen, bis der Editor sich öffnet und im schlimmsten Fall auch noch meckert, weil die Datei in keinem "trusted workspace" liegt. Ja, ich schaue zu dir, VSCode.

Ich habe mich dann erinnert, welche Editoren mir im Laufe der Jahre untergekommen und auch empfohlen wurden und nach und nach getestet. Und obwohl ich OpenSource-Software bevorzuge, habe ich auch kein Problem, für gute Software Geld in die Hand zu nehmen.

Und so ist meine Wahl letztendlich auf Sublime Text gefallen. Sublime Text kann man dauerhaft kostenlos nutzen. Einziges Manko ist, dass ab und an aufkommende Popup-Fenster, dass es sich um eine unregistrierte Version handelt und man über einen Kauf nachdenken soll. Das Fenster kommt nicht übermäßig oft und ist auch nicht aufdringlich, wie Werbung im Internet. Dennoch hat es mich im Fluss manchmal unterbrochen.

Ich habe das einige Wochen durchgezogen, bin dann aber zu dem Schluss gekommen, dass man einen Texteditor generell oft (ich sogar täglich) nutzt, ich Sublime Text wirklich mag und die Weiterentwicklung unterstützen möchte. Also: Kauf! Zugegeben, Sublime Text ist nicht ganz billig. Aber ich denke, es war eine gute Investition!

Jetzt bin ich gut ausgestattet, um meinen Python-Code zu schreiben.

Da ich gerade eine Idee für ein kleines Tool hatte, habe ich gleich begonnen. Etwas Logik hier, eine Prise SQLite da und in kurzer Zeit hatte ich zumindest ein Grundgerüst gezimmert. Jetzt fehlt noch GUI, immerhin ist es möglich, dass außer mir auch andere das Programm nutzen. Vor vielen Jahren habe ich oft und gerne wxPython genutzt. Das großartige Buch wxPython in Action hat immer noch einen Ehrenplatz in meinem Regal. Aber für diesen Fall wollte ich etwas Anderes. Schnell muss es gehen, nicht zwingend schön sein. Daher habe ich natürlich zum Standard-Toolkit gegriffen. Tkinter. Es gibt mit ttk einen schönen Aufsatz, der es mittlerweile auch in die Standardbibliothek geschafft hat.

Um meine Kenntnisse bezüglich Tkinter und ttk ein wenig aufzufrischen, habe ich eine Suchmaschine bemüht. Und dabei bin ich über ttkbootstrap gestoßen. Und was ich gefunden habe, gefällt mir sehr gut! ttkbootstrap bietet - wie die JavaScript Bibliothek bootstrap - ein durchgehendes Theming für die GUI, viele nützliche Standardeinstellungen und ein paar wirklich tolle und optisch ansprechende Widgets, die in Tk so nicht vorhanden sind.

Besonders das TableWidget hat es mir angetan. Das kommt mit einfach anzuwendenden und sinnvollen Standardfunktionen, die ich in anderen Toolkits auch gerne hätte.

Eine klare Empfehlung von mir also für ttkbootstrap.

Einziger Wehrmutstropfen: Bei einigen Testfällen und Spielereien konnte ich mich nicht auf die Dokumentation verlassen und musste mich selbst durchhangeln. Die Doku scheint wohl für eine frühere Version geschrieben zu sein und ist (noch) nicht aktualisiert worden.