Рефакторинг Python Tkinter GUI, чтобы удалить его зависимость от TCL. Это потребует разветвления последней версии TK, части проекта TCL , а затем замены внутреннего использования сценариев TCL сценариями Python. Проект будет написан на языке C.
Конечным результатом будет модуль Python TK GUI, который работает в Windows, Macintosh и UNIX. Все вещи по переносимости уже есть в модуле TKinter, так что это не то место, где будет работать. Вместо этого это будет похоже на хирургическое вмешательство на головном мозге, определяющее все связи между TK и TCL, так что вы можете либо изменить рефакторинг в более простой интерфейс с Python, либо выполнить замену TCL один на один с Python.
Это потребует изучения TCL и Python, а также, возможно, написания некоторых инструментов, которые помогут вам перечислить взаимосвязи между TCL и TK. В конце проекта вы также получите много информации о кроссплатформенных графических интерфейсах, даже если у вас есть только одна из платформ, работающих как часть вашей степени.
Конечная цель этого состоит в том, чтобы этот GUI стал интерфейсом Python по умолчанию, а интерфейс разработчика для GUI стал интерфейсом по умолчанию для других интерфейсов GUI. Например, разработчик Jython не может использовать этот графический интерфейс, но если вы сделаете интерфейс чистым и не зависящим от системы, тогда кто-то может написать PythonTK на Java, который использует SWING, а другая группа может написать PythonTK на C #, который использует Windows Forms.
Хотя основная часть работы заключается в рефакторинге разветвленного кода TK, вам нужно немного подумать и изучить объектную модель, предоставляемую программисту Python, чтобы свести к минимуму или устранить любые специфические для системы области. Это также может потребовать некоторой работы по рефакторингу кода TK.