2011年01月24日 星期一 11:28
我写了一个goog_tran.py如下:
#-*-encoding:utf8-*-
import sys
from urllib import quote as URIescape
import json
import urllib
def translate(q, langpair='|zh', hl='zh'):
'''使用 Google 翻译文本
http://code.google.com/intl/zh-CN/apis/ajaxlanguage/documentation/reference.html
'''
#import urllib.request
url = 'http://ajax.googleapis.com/ajax/services/language/translate'
url += '?format=text&v=1.0&hl=zh&langpair=%s&q=%s' % (URIescape(langpair), URIescape(q))
ans = urllib.urlopen(url).read().decode('utf-8')
ans = json.loads(ans)
if ans['responseStatus'] != 200:
raise Exception(ans)
return ans['responseData']['translatedText']
if __name__ == '__main__':
while 1:
print 'Give you wanna to trans:'
m=raw_input()
if m == 'exit':
print 'See you'
break
else:
print(translate(m))
我现在想把这个函数写进qt的check按钮,让它可以从text_1文本框调用文本并返回于text_2,应该怎么做?是不是必须要建立class?
2011年01月24日 星期一 18:38
写一个从QDialog继承的类,在其中创建两个文本框和一个按钮,然后在按钮事件中调用translate函数。
2011年01月25日 星期二 11:10
张老师你好!
我第一次做自定义模块,还不是很懂。
像这个最后用if __name__ == '__main__':的语句要怎么调用呢?
import goog_tran
a = goog_tran()也不对呀。。。
2011年01月25日 星期二 11:26
如果 if __name__ == '__main__':中的内容需要在别的模块调用,可以把它定义成一个函数:
def main():
#这里是你程序中处理输入输出的部分
if __name__ == '__main__':
main()
然后别的模块:
import goog_tran
goog_tran.main()
不过你调用a = goog_tran.main()是没有意义的,因为main()是一个死循环。
一般你是调用goog_tran. translate(...)
2011年01月25日 星期二 11:29
谢谢张老师。现在搞定啦。
Zeuux © 2024
京ICP备05028076号