Qt Designer菜鸟使用教程(实现一个本地英文翻译软件)

1 安装Qt Designer

安装这个包的时候会自带安装 Qt Designer, 安装目录为python的安装根目录的 Lib/site-packages/qt5_applications/Qt/bin 目录下。

bash 复制代码
pip install pyqt5-tools

2 新建窗体

2.1 新建主窗体

创建之后如下图:

设置主窗口大小:

设置窗口的Title.

设置 QEditText 的字体:

2.2 添加控件

将需要的控件添加到窗体内,使用布局管理器布局好。

点击 保存 按钮保存UI文件保存为 translator.ui。

3 转换UI文件

bash 复制代码
pyuic5 -o translator_ui.py translator.ui

4 创建主py文件

新建一个 main.py 文件:

bash 复制代码
import sys
from PyQt5.QtWidgets import QApplication,QWidget
from translator_ui import Ui_Form
 
class MyWindow(QWidget, Ui_Form):
    def __init__(self):
        super(MyWindow, self).__init__()
        self.setupUi(self)
        self.retranslateUi(self)
 
 
if __name__ == "__main__":
    app = QApplication(sys.argv)
 
    window = MyWindow()
    # 显示窗口
    window.show()

    # 进入程序的主循环,并通过exit函数确保主循环安全结束
    sys.exit(app.exec_())

5 运行主py文件

6 添加信号和槽

添加控件的信号和槽,实现界面和业务逻辑分离。

附 1 实现英文翻译功能

安装python包:

bash 复制代码
pip install argostranslate

Sample代码:

bash 复制代码
import argostranslate.package
import argostranslate.translate

from_code = "en"
to_code = "zh"

# 安装语言包,这部分代码执行1次就行
# argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
    filter(
        lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
    )
)
argostranslate.package.install_from_path(package_to_install.download())

# Translate
translatedText = argostranslate.translate.translate("No specific requirements have been imposed. 1.1 Purpose of the document", from_code, to_code)
print(translatedText)
相关推荐
wdfk_prog16 分钟前
canopennode-rtt推荐,不只可以做从站,也可以承担主站角色
c语言·开发语言·数据库·学习·算法·深度优先
启观川25 分钟前
Python基础-第 16 章 综合案例:客户信息管理系统
开发语言·笔记·python·正则表达式
无小道29 分钟前
C/C++——可变参数
c语言·开发语言·c++·可变参数
BioRunYiXue35 分钟前
科研干货 | IC50全面解读:概念解析、实验设计与数据分析要点
java·开发语言·javascript·人工智能·算法·数据挖掘·数据分析
边境悍匪36 分钟前
蜗牛学苑 Java 智能体学习 Day34|AOP 进阶、权限思维导图复盘
java·开发语言·spring boot·学习
每天吃饭的羊1 小时前
WebAssembly
开发语言·javascript·wasm
@福者1 小时前
C++ QT 入门
开发语言·c++·qt
长友cy1 小时前
Qt官方示例BluetoothLowEnergyGame源码阅读
开发语言·qt
草青工作室1 小时前
java-不携带Token也能“打“自己的接口:一个绕开网关鉴权、用 URL 直接调度 SpringMVC 方法的轻量级定时任务方案
java·开发语言
shmily麻瓜小菜鸡1 小时前
JavaScript / TypeScript 易踩坑知识点完全指南 -假值(Falsy Values)完全指南
开发语言·javascript·typescript