python:tkinterweb 简单又好用的 htmlview 组件

该文介绍了一个使用Python的tkinterweb库创建的简单webview组件,用于显示本地HTML文件和查询MDX词典。用户可以安装必要的库,如readmdict,来加载和播放MDX字典文件。程序包含TTS功能,能对选中的文本进行发音,并处理HTML中链接的点击事件,支持单词的前缀匹配搜索。此外,tkinterweb基于Tkhtml3,不支持JavaScript。

tkinterweb  是简单又好用的 webview 组件,也可用来显示本地 html文件。

pip install tkinterweb ;

pip install readmdict ; 参见: 使用Python调用mdx字典文件进行查词

安装 MDict 去 MDict | One app for all dictionaries 下载

测试 html view 程序 tk_read_mdict.py 如下:

# -*- coding: utf-8 -*-
""" 查询英汉词典 """
import os
import time
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox
from tkinterweb import HtmlFrame
import pygame
from readmdict import MDX  # pip install readmdict
import win32com.client  # TTS
sapi = win32com.client.Dispatch("SAPI.SpVoice")

#pygame.init()
pygame.mixer.init()

os.chdir("/MDictPC/doc")

def speak():
    """ TTS发音 """
    txt = frame.get_currently_selected_text()
    if txt == None:
        txt = entry.get()
    if txt.strip() !='':
        sapi.Speak(txt)

def mplay(filename):
    """播放.mp3 """
    if pygame.mixer.music.get_busy():
        print("mixer.music.get_busy")
        return 1
    if not os.path.exists(filename):
        print(f"{filename} not found.")
        return 2
    fn,ext = os.path.splitext(filename)
    if ext.lower() == '.mp3':
        pygame.mixer.music.load(filename)
        pygame.mixer.music.play()
    else:
        print(f"{filename} is no
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值