崇高的文本编辑器使用什么gui库?

时间:2011-08-18 04:28:21

标签: python user-interface sublimetext

我已经下载了sublimetext的编辑器,我想知道那里使用的GUI库。

编辑器可执行文件目录中的文件的文件名是:

bz2.pyd
Microsoft.VC90.CRT.manifest   
msvcp90.dll
msvcr90.dll                   
PackageSetup.py
PackageSetup.pyc              
pyexpat.pyd                   
python26.dll
python26.zip                  
select.pyd
sublimeplugin.py              
sublimeplugin.pyc
sublimetext.exe               
unicodedata.pyd
unins000.dat                  
unins000.exe
_ctypes.pyd                   
_elementtree.pyd
_hashlib.pyd                  
_socket.pyd
_ssl.pyd     

我可以从文件名中找到信息吗?

3 个答案:

答案 0 :(得分:130)

Sublime Text 2主要使用C ++编码,并使用自定义UI工具包。以下是作者Jon Skinner解释:http://news.ycombinator.com/item?id=2822114

  

我有意写一篇博文,其中有一些细节,但是   有很多东西,我通常最终编码。 Sublime Text 2是   几乎完全是C ++(对于Cocoa和C ++,有一些Objective C)   用于插件的Python)。编码通常很简单:代码   在一个平台上(目前主要是Linux,但我转过来   经常),然后确保它仍然编译在别处。升华   Text 2本身使用自定义UI工具包。有很多应用程序在哪里   这可能没有意义,但这不是一个不合理的选择   Sublime Text,我总是知道很多UI控件   无论工具包(例如文本),都必须进行自定义   控制和标签控件)。 UI工具包位于十字架的顶部   平台抽象层,更多的是平台联盟   功能而不是最低标准。

答案 1 :(得分:23)

一点Googling建议它使用Sublime GUI,由Debian源程序包判断是用C ++编写的。

然后,在Linux strings二进制文件上运行sublime_text会显示以下共享库(相当于Windows DLL),这些库可能会建议gtk:

/lib/ld-linux.so.2
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libatk-1.0.so.0
libgio-2.0.so.0
libpangoft2-1.0.so.0
libpangocairo-1.0.so.0
libgdk_pixbuf-2.0.so.0
libcairo.so.2
libpng12.so.0
libpango-1.0.so.0
libfreetype.so.6
libfontconfig.so.1
libgobject-2.0.so.0
libgmodule-2.0.so.0
libgthread-2.0.so.0
librt.so.1
libglib-2.0.so.0
libpthread.so.0
libdl.so.2
libutil.so.1
libm.so.6
libX11.so.6
libstdc++.so.6
libgcc_s.so.1
libc.so.6
libgio-2.0.so
libgio-2.0.so.0
module.so

this also建议使用gtk。

答案 2 :(得分:15)

它可能不是用Python编写的。您看到Python代码的原因是用户可以在Pythons中编写脚本/插件来扩展Sublime Text。我怀疑它是用C ++编写的,GTK是GUI工具包。