Python中的Tkinter来源于 tcl/Tk,是直接对Tk的封装
早在2008年就开始在Solaris环境下接触到tcl/Tk, 当年要想做一个GUI界面能选择的余地并不多,所以使用tcl/Tk来做一些稍微复杂点的工具。
当时tcl/Tk还是可以跨平台的,所以Win上干完直接上Solaris跑就行。
tcl语法简单易学,对于学院派和想把时间留给其他重要事情的人来讲还是很合适的,万一不爽的时候可以开始修改C代码来进行tcl的调整。
tcl/Tk当时已经功能比较完善,对于工业使用绰绰有余,对于教学展示完全足够,于是随着时间迁移,tcl/Tk过了十多年依然才出到8.6版本,很不错的提升了一个小版本号,外加了一些包管理器更新。
依照现在的观念来看,在Python中Tkinter作为GUI入门和基本的Demo选择是很不错的,系统自带,只需要将精力放在该放的地方即可,无需关心GUI界面到底有多丑。
hmmm,如果你需要做更复杂的UI交互,譬如写个Photoshop这种规模,建议可以试试其他选择。 来自一个写了近万行tcl,使用Tk几年的码农的愚见。
ps: 最近一次用Tk 是使用Python的Tkinter做了一个连线消除游戏关卡编辑器,从开始做到完成花了一天多时间,感觉还凑合。Qt也用过,但是并不喜欢Qt的风格,PyGTK+和wxPython也使用过,最后居然还是用了Tkinter来做。 ♂️