aardio 调用 python pickle load 数据

<有搞头>---aardio+Python <有搞头>---aardio+Python原因和目的:准备材料:功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 原因和目的: 强大的代码需要一个简单的操作界面. 1.人生苦短,我用python 2.人生苦短,我用aar 阅读详情

aardio 调用 python pickle load 词典数据;

pip install readmdict 

dump_pickle.py

import os
import sys
import time
import pickle
from readmdict import MDX, MDD

os.chdir("/mdict")

mdxfile = "your.mdx"
if not os.path.exists(mdxfile):
    print("{mdxfile} not found!")
    sys.exit(1)

start_time = time.time()
mdx = MDX(mdxfile)
headwords = [*mdx]
print('headwords:', len(headwords))

with open("your_wordls.pik", 'wb') as f:
    pickle.dump(headwords,f)
end_time = time.time()
print('cost %f second' % (end_time - start_time))

运行 dump_pickle.py  生成文件 your_wordls.pik 放在 res/

load_pickle.py 放在 res/

import json
import pickle

def load_pickle():
    with open("res/your_wordls.pik", 'rb') as f:
        headwords = pickle.load(f)
    alist = []
    for hw in headwords:
        hws = hw.decode()
        alist.append(hws)
    return json.dumps(alist)

main.aardio 见下面

import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio2";right=889;bottom=467)
mainForm.add(
button={cls="button";text="go";left=335;top=22;right=399;bottom=41;z=2};
button2={cls="button";text="prefix";left=426;top=21;right=497;bottom=40;z=4};
button3={cls="button";text="mp3play";left=533;top=19;right=592;bottom=39;z=5};
button4={cls="button";text="TTS读音";left=621;top=17;right=681;bottom=39;z=7};
custom={cls="custom";text="WebView2";left=165;top=55;right=889;bottom=469;z=3};
edit={cls="edit";left=17;top=19;right=317;bottom=43;edge=1;z=1};
listbox={cls="listbox";left=7;top=56;right=161;bottom=463;edge=1;items={};vscroll=1;z=6}
)
/*}}*/

import web.view;
var wb = web.view(mainForm.custom);

import web.json;
import console;

import io;
import sys;
import fsys.dlg;
import fsys.media;
import py3;
//导入 Python 模块
//var pickle = py3.import("pickle");
//var pycode = string.load("\res\load_pickle.py");
py3.exec("/res/load_pickle.py");
var pyobj = py3.main.load_pickle();
var alist = web.json.parse(tostring(pyobj));
//console.log(type(alist));

var basepath = "D:\mdict\data";

import com.sapi.voice; //导入语音组件
var voice = com.sapi.voice(); //创建语音对象
//导出本地函数给网页 JavaScript
wb.external = {
  speak = function(txt){
	if (string.len(txt) >0) {
		voice.speakAsync(txt,1);//异步非阻塞朗读
		voice.waitOne(); //等待朗读结束
	}		
  }
}

var js = $"~/res/script.js";
//console.print(js);

var baseurl = "http://localhost:8888/";
//响应按钮事件
mainForm.button.oncommand = function(id,event){
	mainForm.button.disabled = true;
	var txt = mainForm.edit.text ;
	var str = string.trim(txt);
	if (string.startWith(str, "http://") or string.startWith(str, "https://")){
		wb.go(str);
	} elseif(string.startWith(str, "D:") or string.endWith(str,".htm")){
		if (io.exist(str)){
			wb.go(str);
		} else {
			mainForm.msgbox(str+" not found.");
		}
	} else {
		url = baseurl + "trans?txt=" + str;
		wb.go(url);
		wb.doScript(js);
	}
	mainForm.button.disabled = false;
}

// prefix 前缀匹配
mainForm.button2.oncommand = function(id,event){
	mainForm.button2.disabled = true;
	var txt = mainForm.edit.text;
	var str = string.lower(string.trim(txt));
	if (string.startWith(str, "http://") or string.startWith(str, "https://")){
		wb.go(str);
	} else {
		mainForm.listbox.clear();
		//遍历 table array 对象成员
		for( k,v in alist){
			word = string.lower(v);
			if (string.startWith(word, str)){
				//console.log(v);
				mainForm.listbox.add(v);
			}
		}
		if (mainForm.listbox.count ==0){
			mainForm.listbox.add("null");			
		}
		mainForm.listbox.selIndex = 1;
	}
	mainForm.button2.disabled = false;
}

// 播放本地 .mp3
mainForm.button3.oncommand = function(id,event){
	mainForm.button3.disabled = true;
	if (io.exist(path)){
		mainForm.edit.text = path;
		if (string.endWith(path, ".mp3")){
        	mp3 = fsys.media(path);
        	if (mp3) mp3.play();
		}
	}
	mainForm.button3.disabled = false;		
}

// TTS 读单词
mainForm.button4.oncommand = function(id,event){
	mainForm.button4.disabled = true;
	var str = mainForm.edit.text;
	if (string.startWith(str, "C:") or string.startWith(str, "D:")){
		if (mp3) mp3.stop();
	} else {	
		voice.speakAsync(str,1);//异步非阻塞朗读
		voice.waitOne(); //等待朗读结束
	}
	mainForm.button4.disabled = false;	
}

mainForm.listbox.oncommand = function(id,event){
	if( event == 0x1/*_LBN_SELCHANGE*/ ){
		str = mainForm.listbox.selText;
		url = baseurl + "trans?txt=" + str;
		wb.go(url);
	}
}

//响应回车键弹起的消息
mainForm.edit.wndproc = function(hwnd,message,wParam,lParam){
  if(message == 0x101/*_WM_KEYUP*/ && wParam == 0xD/*_VK_ENTER*/){
	var txt = mainForm.edit.text ;
	var str = string.trim(txt);
	if (string.startWith(str, "http://") or string.startWith(str,"https://")){
		wb.go(str);
	} elseif (string.startWith(str,"D:\") or string.endWith(str,".htm")){
		if (io.exist(str)){
			wb.go(str);
		} else {
			mainForm.msgbox(str+" not found.");
		}
	} else {
		url = baseurl + "trans?txt=" + str;
		wb.go(url);
		//win.delay(1000);
		wb.doScript(js);
	}
  }
  //无返回值则继续调用默认回调函数
}

mainForm.show();
return win.loopMessage();

web 服务程序参见:python:mdict + bottle = web 查询英汉词典

目录 res/script.js


    // aardio TTS
    function tts() {
        var txt = document.getElementById('txt').value;
        if (txt.length >1) {
          (async ()=>{
              await aardio.speak(txt);
          })();
        }
    }

    // 屏幕双击取词, aardio TTS
    function tts2() {
        // 获取iframe里的选择内容
        var select = window.frames['iframe'].getSelection();
        var txt = select.toString();
        if (txt.length >1) { // alert(txt);
          var input = document.getElementById('txt');
          input.value = txt.trim();
          (async ()=>{
              await aardio.speak(txt);
          })();      
        } else {
          tts();
        }
    }

aardio使用任意版本Python的用法 aardio中使用process.python模块调用任意版本python的具体使用过程 阅读详情

相关推荐

aardio 编辑GUI界面,调用 python 脚本示例

aardio 编辑GUI界面,调用 python 脚本示例。

belldeep的专栏 2041

利用aardio配合Python快速开发桌面应用!不得不说非常实用!

1. 前言 我们都知道 Python 可以用来开发桌面应用,一旦功能开发完成,最后打包的可执行文件体积大,并且使用 Python 开发桌面应用周期相对较长 假如想快速开发一款 PC 端的桌面应用,推荐使用 Aardio + Python 搭配的方式进行开发 2. Aardio 介绍 Aardio 是一款专注于 Windows 桌面端的软件开发,适用于快速开发一些自用的 PC 端桌面工具,并且它支持与 Python、JS、Golang 等主流语言进行混合编程 它是一款免费的开发工具,简单易学..

爬遍所有网站 6212

Python + aardio实现快速开发小说爬取的桌面应用

最近刷到一个视频,介绍了一款没听说过的工具语言aardio,其体积小巧,永久免费,并且兼容市面上大多数语言。这么神奇的吗?我直接光速打开其官网,定睛一看,6.5MB大小!于是我毫不犹豫的点击了下载,安装启动一气呵成,可是…我要拿它做什么用呢?诶!最近在学习爬虫,正好找个对象练练手,于是我将目光转向了著名鼎鼎的笔趣阁,打开浏览器搜索笔趣阁,woc,这也太多了吧,我翻看了浏览器前几页,就起码找到了几十个可以正常使用的笔趣阁。好嘛,说干就干,随便找了一个看起来还可以的网站,敲下了键盘上的 F12。

TOTOBEFREE的博客 1932

Python 开发桌面应用居然如此简单

我们都知道 Python 可以用来开发桌面应用,一旦功能开发完成,最后打包的可执行文件体积大,并且使用 Python 开发桌面应用周期相对较长 假如想快速开发一款 PC 端的桌面应用,推荐使用 Aardio + Python 搭配的方式进行开发 1. Aardio介绍 Aardio 是一款专注于 Windows 桌面端的软件开发,适用于快速开发一些自用的 PC端桌面工具,并且它支持与Python、JS、Golang 等主流语言进行混合编程 它是一款免费的开发工具,简单易学,支持多线程,具有轻巧...

SixStar_FL的博客 1万+

记录aardio和Pythonl联动,为python做界面、做单exe文件的几个知识点

aardio创建python关联程序,外部依赖库(模块)如何安装和调用。

不甜 1689

推荐一个界面设计软件aardio,配合python三分钟制作一个小软件。【批量doc文件转docx文件】

aardio这个软件不多说,好用方便。

李白白的博客 1780

用aardio为python写的图形界面,调用numpy,PIL,用后台线程实现

直接上图, import fonts.fontAwesome; import win.ui; /*DSG{{*/ var winform = win.form(text="设置";right=984;bottom=589;bgcolor=5921370;composited=1) winform.add( btnReset={cls="plus";text='\uF0E2 重置';left=509;top=529;right=690;bottom=565;bgcolor=11580047..

qq_25846269的博客 1606

利用aardio给python编写图形界面

前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了。 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头”的下载下来做了个demo,仍旧不是很满意,不是下载安装繁琐,就是界面丑陋或者难写难用,文档不齐全。 后来那天,整理电脑文件发现了6年前下载的aatuo(现已更名aardio),顿时一阵惊喜。 先说说aardio,2011年7月的时候,它还叫aauto,那时的自己还醉心于开发桌面应用,VC++(MFC),C#(Winform),Java(Swing),Delphi都被玩了个遍,偶尔网上百度到了aau

aardio调用python

【代码】aardio调用python。

weixin_43250893的博客 907

Cadence电路原理图全部变成黄色如何解决?

Cadence电路原理图全部变成黄色如何解决?现象:解决方法: 最近用cadence仿真锁相环,拷贝师哥的library后打开,发现schematic中全部变成了黄色,但可以正常修改元件参数,正常仿真。仅仅影响使用效果,看起来超级难受。 现象: 1.电路元件及连线全部变为黄色 2.可以正常修改参数,电路ADE仿真 如下图所示: 解决方法: 重新导入display.drf文件,步骤如下: tool——Display Resource Manager,截图如下 完成上述步骤,显示如下界面,选择Merge选项

virtuoso~晓晓 1万+

C语言新手必练:10个实战小项目带你快速上手(附完整代码)

本文为C语言初学者精选10个实战项目,从基础的温度转换器到高级的迷宫求解算法,涵盖输入输出、条件判断、循环控制、数组操作等核心知识点。每个项目配有完整代码和详细解析,帮助新手通过实践掌握编程思维,特别适合刚学完语法但缺乏实战经验的学习者。

weixin_29208077的博客 746

使用Aardio库在Python中创建桌面应用:简单指南

Aardio作为一种轻量级的编程语言,提供了一个绿色版的Python环境,并且能够与Python无缝集成,使得桌面应用的开发变得更加直观和高效。为了确保Aardio可以正确识别你的Python环境,请确保将Python解释器添加到系统的PATH变量中。Aardio不仅简化了GUI的设计过程,还允许我们轻松地嵌入Python代码,这无疑为开发者提供了一种新的、更有效的开发方式。请注意,尽管Aardio仅适用于Windows平台,但它提供了丰富的API和易于使用的GUI设计工具,非常适合快速开发桌面应用。

东方佑 1039

STM32开发实战--解决STM32CubeMX生成代码时钟初始化卡死问题

本文详细分析了STM32CubeMX生成代码在时钟初始化阶段卡死的问题,提供了多种解决方案,包括简单修改和稳健的等待机制。通过深入探讨HAL库的时钟初始化陷阱及硬件层面的根本原因,帮助开发者快速定位并解决STM32开发中的常见问题。

weixin_26965807的博客 441

aardio - 小窍门及注意事项收集贴

aardio - 小窍门及注意事项收集贴

光庆的学习笔记 3648

PostGIS 小白入门详细指南

PostGIS 是 PostgreSQL 的一个扩展,它将 PostgreSQL 转变为一个功能强大的空间数据库,使其能够存储、查询和分析地理空间数据。PostGIS 遵循开放地理空间联盟(OGC)的标准,支持各种空间数据类型和操作,如点、线、多边形、缓冲区、空间连接等。存储各种空间数据类型(如几何类型和地理类型)空间索引,提高查询性能丰富的空间函数和操作支持投影和坐标系统转换城市规划与管理环境监测与分析物流与运输优化地图制作与可视化位置服务与导航。

落魄书生的职业学习生涯 1万+

autoDL算力云装Xinference[坑与步骤]

在页面直接点击下载会出现下着下载进度条消失,试了几次才出现这个报错,现在我们就继续安装缺少的包吧。这一步成功绕开了系统盘空间限制。先租用一个合适的服务器,建议不要选最新版本,跟我选的一样即可,不然后面会出现。最近在 AutoDL 上尝试部署。🚫 不要直接使用以下命令。点击下面链接即可打开。

ngadminq的博客 2383

【Python】Python项目打包发布(三)(基于Aardio打包多目录项目)

aardio 专注于桌面软件开发,17年一直保持非常活跃地更新( 更新日志 ),aardio 被多年用于生产项目实践,久经测试和锤炼。

```On Earth, Be Water, By Coding``` 2490

基于ENVI5.3的Landsat条带去除、辐射定标、大气校正

基于ENVI5.3的Landsat条带去除、辐射定标、大气校正坏带修复辐射定标大气校正 坏带修复 1.下载landsat_gapfill插件,放入“安装目录\Exelis\ENVI53\extensions”,重启ENVI 2. 加载拟处理文件(MTL.txt格式) 3.打开landsat_gapfill 4.选择存放位置并命名文件 5.选择处理文件 辐射定标 1.选择工具Radiometric Calibration 2.选择已修复坏带文件 3.修改参数,选择输出位置及命名文件 大气校正 1

u010198950的博客 1万+

aardio 引入python文件

废话不多说,直接开干! 重点讲下 import string; var pyCodes = string.load("\res\add.py"); //引入问题一定正确,引入py文件正常执行 //7)捕获标准输出 import console; import py; import string; var pyCodes = string.load("\res\add.py"); py.exec( pyCodes ) //执行Python代码 py.exec("print(1+123)"); /

weixin_37254196的博客 2172

【网络教程】Ubuntu有线连接消失,无法联网怎么办!(亲测有效!)

文章目录问题描述解决方案 问题描述 今天打开Ubuntu,突然发现无法连接网络,并且打开设置,发现设置里面的网络已经没有了有线连接,只有VPN设置选项,如图 解决方案 按照下列的代码执行即可! # 关闭网路 service NetworkManager stop # 删除NetworkManager缓存文件 sudo rm /var/lib/NetworkManager/NetworkManager.state # 打开网络 service NetworkManager start 运行完

XiaoqiangClub的博客 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

各编程语言相互调用示例,代码简单,生成的软件体积也很小

aardio 支持混入很多不同的编程语言,代码简单,生成的软件体积也很小。下面看示例。

aardio 编程语言 1289

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

用aardio给python写个图形界面

前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了。 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头”的下载下来做了个demo,仍旧不是很满意,不是下载安装繁琐,就是界面丑陋或者难写难用,文档不齐全。 后来那天,整理电脑文件发现了6年前下载的aatuo(现已更名aardio),顿时一阵惊喜。 先...

weixin_30814319的博客 837

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python怎么编图形界面_利用aardio给python编写图形界面

前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了。于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头”的下载下来做了个demo,仍旧不是很满意,不是下载安装繁琐,就是界面丑陋或者难写难用,文档不齐全。后来那天,整理电脑文件发现了6年前下载的aatuo(现已更名aardio),顿时一阵惊喜。先说说aard...

weixin_39601657的博客 388

aardio调用python语言pyttsx3实现文字转语音功能

aardio调用python模块实现语音转换,

weixin_42430086的博客 620
上一篇: aardio:用 WebView 模仿 mdict 界面
下一篇: python:tkinter + cef 模仿 mdict 界面
belldeep
博客等级 码龄20年 1821粉丝 584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值