Sch*_*iss 2 python xml gtk user-interface glade
我试图在python中编写一个应用程序来控制使用串口的电机.这一切都在CLI情况下很好地工作并且通常是稳定的.但我想知道在这个代码库之上添加GUI是多么简单?
我假设会有更多的代码,但是有一种简单的方法来检测像GTK这样的东西,所以它只在GTK出现时才应用代码吗?
此外,通常在Python中创建GUI:最好是从代码中保留少量GUI细节并使用类似GTK的基于XML的方法(使用gtk.glade.XML()函数)?是否有其他GUI工具包具有与Glade/XML /"代码爆炸"方法类似的方法?
谢谢你的建议.
安迪
S.L*_*ott 10
是否有一种简单的方法来检测像GTK这样的东西,所以它只在GTK出现时才应用代码?
首先,将您的应用分成3个独立的模块.
实际工作:foo_core.py
.
导入的CLI模块foo_core
.叫它foo_cli.py
.
导入的GUI模块foo_core
.叫它foo_gui.pyw
.
该foo_cli
模块看起来像这样.
import foo_core
import optparse
def main():
# parse the command-line options
# the real work is done by foo_core
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
该foo_gui
模块可能如下所示.
import foo_core
import gtk # or whatever
def main()
# build the GUI
# real work is done by foo_core under control of the GUI
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
这通常就足够了.如果人们想要CLI或GUI,可以信任他们自己做出决定.
如果你想让人混淆,你可以编写一个foo.py
类似下面的脚本.
try:
import foo_gui
foo_gui.main()
except ImportError:
import foo_cli
foo_cli.main()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1044 次 |
最近记录: |