Установка подтверждения позволяет изящно выйти из vim с помощью : q . Вам не нужно использовать ZZ или другие мощные механизмы, которые слепо сохраняют или отбрасывают все изменения.
Путь с наименьшими усилиями и наилучшими результатами - это узнать, что нужно для развертывания приложения с использованием этих существующих библиотек графического интерфейса.
начиная с Python 2.7 и 3.1, Tk будет выглядеть намного лучше.
http://docs.python.org/dev/whatsnew/2.7.html#ttk-themed-widgets -for-tk
«Tcl / Tk 8.5 включает набор тематических виджетов, которые повторно реализуют базовые виджеты Tk, но имеют более настраиваемый внешний вид и, следовательно, могут больше походить на виджеты собственной платформы. Этот набор виджетов первоначально назывался Tile, но был переименован в Ttk (от «тематического Tk») при добавлении в версию 8.5 Tcl / Tck »
Tkinter является частью стандарта Python дистрибутив и устанавливается по умолчанию. Ожидайте найти это во всех установках Python, где в первую очередь есть графический дисплей.
Понятие "чистой библиотеки python gui" неверно, потому что в конечном итоге вы будете использовать вызовы и виджеты системного уровня, возможно, через ctypes, но это не меняет того факта, что если вы начнете реализовывать свои идея, что вы в конечном итоге станете wxPython
Не совсем понимаю, что вы имеете в виду под "тяжеловесными" . "
wx использует собственные элементы управления на каждой платформе, и его так же легко использовать в Python, как я могу себе представить; в конце концов, GUI API сложны, потому что GUI могут быть сложными.
Я думаю, что wx, с точки зрения усилий, необходимых для создания окна, и качества того, что отображается на экране, великолепен. Не думаю, что ты сам откатишь что-нибудь получше.
Во-первых, все эти библиотеки используют разные абстракции, поэтому все, что работает со всеми из них, скорее всего, в конечном итоге будет поддерживать набор функций с наименьшим общим знаменателем, или , выполняя ОЧЕНЬ много работы, чтобы использовать каждый в полной мере.
Я думаю, что это не в изобретении колеса. Это сработает, но зачем вам это делать? Все упомянутые вами библиотеки графического интерфейса являются стабильными и более или менее пуленепробиваемыми.
Я могу представить себе, что есть некоторые эксперименты, реализующие чистую библиотеку Python. Но я ни одного не видел. Все, что связано с графическими интерфейсами, - это тяжелая работа, и у чистой библиотеки Python не было бы такой большой аудитории.
Принципиально неправильно то, что он изобретает колеса заново, что уже было сделано создателями GTK, Tk, Wx, QT и им подобных. Хотя графический пользовательский интерфейс на чистом Python технически осуществим, и такие проекты, как anygui , пытались что-то подобное, от этого мало что можно получить.
Нативные наборы инструментов также лучше справляются с описанием различий между базовыми платформами (нативные диалоги и т. Д.). Это означает, что наборы инструментальных средств позволяют вам написать переносимое приложение, которое практически не требует кода для конкретной платформы - большая часть этого абстрагируется базовым набором инструментов.
Механизмы распространения, такие как py2exe в Windows и любой из методов Linux, позволяют вам связать библиотеки DLL с приложением, так что вы можете создать установщик, который вставляет все необходимые нативные компоненты на место. Однако на самом деле нет универсального кроссплатформенного способа сделать это, поэтому вам придется поддерживать отдельные установщики для каждой платформы.