⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 051-vocabu.py

📁 this code is used for edit on os of s60
💻 PY
字号:
import os, os.path, audio, appuifw, camera, key_codes, graphicsPATH = "E:\\Data\\Vocabulector\\"def load_translations():        global trans, dict_file        if not os.path.exists(PATH):                os.makedirs(PATH)        dict_file = file(PATH + "trans.txt", "rw")        trans = []        for line in dict_file:                line = line.decode("utf-8")                native, foreign = line.strip().split(":")                trans.append((native, foreign))def add_entry():        global fname, text, photo        text = photo = None        native = appuifw.query(u"Native word:", "text")        if not native: return        foreign = appuifw.query(u"Foreign word:", "text")        if not foreign: return        fname = PATH + native        trans.append((native, foreign))        line = "%s:%s" % (native, foreign)        print >> dict_file, line.encode("utf-8")        if appuifw.query(u"Record sound", "query"):                record_sound()        if appuifw.query(u"Take photo", "query"):                camera.start_finder(viewfinder)                canvas.bind(key_codes.EKeySelect, take_photo)        else:                appuifw.note(u"Entry added!", "info")def record_sound():        snd = audio.Sound.open(fname + ".wav")        snd.record()        appuifw.query(u"Press OK to stop recording", "query")        snd.close()def viewfinder(img):        canvas.blit(img)def take_photo():        global photo        canvas.bind(key_codes.EKeySelect, None)        camera.stop_finder()        photo = camera.take_photo(size = (640,480))        handle_redraw(None)        photo.save(fname + ".jpg")def show_native():        lst = []        for native, foreign in trans:                lst.append(native)        idx = appuifw.selection_list(choices = lst, search_field = 1)        if idx != None:                foreign = trans[idx][1]                fname = PATH + lst[idx]                show(fname, foreign)def show_foreign():        lst = []        for native, foreign in trans:                lst.append(foreign)        idx = appuifw.selection_list(choices = lst, search_field = 1)        if idx != None:                native = trans[idx][0]                fname = PATH + native                show(fname, native)def show(fname, translation):        global photo, text, snd        photo = None        text = translation        try:                photo = graphics.Image.open(fname + ".jpg")        except: pass        handle_redraw(None)        try:                snd = audio.Sound.open(fname + ".wav")                snd.play()        except: passdef handle_redraw(rect):        canvas.clear((255, 255, 255))        w, h = canvas.size        if photo:                canvas.blit(photo, target = (0, 0, w, int(0.75 * h)),                        scale = 1)        if text:                canvas.text((20, h / 2), text,                        fill = (0, 0, 255), font = "title")def quit():        dict_file.close()        app_lock.signal()photo = Nonetext = u"<vocabulector>"appuifw.app.title = u"Personal vocabulary trainer"appuifw.app.exit_key_handler = quitappuifw.app.screen = 'large'canvas = appuifw.Canvas(redraw_callback = handle_redraw)appuifw.app.body = canvasappuifw.app.menu = [(u"Add entry", add_entry),                    (u"Show native entries", show_native),                    (u"Show foreign entries", show_foreign)]load_translations()app_lock = e32.Ao_lock()app_lock.wait()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -