Python和科学计算认证群组  - 讨论区

标题:qt~

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哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号