二十七、Ubuntu22.04 + Anaconda +PyQt5

1. 创建虚拟环境、安装 PyQt5

conda info --envs
conda create --name pyqt5 python=3.7
conda activate pyqt5

# 安装 pyqt5
pip install PyQt5 -i https://pypi.douban.com/simple

# 安装常用的工具包
pip install PyQt5-tools -i https://pypi.douban.com/simple

conda deactivate
conda remove --name pyqt5 --all

2. 测试是否安装完毕

在这里插入图片描述

3. 在 Pycharm 中配置 QtDesigner

首先,要知道在虚拟环境中下载的库,都在这个路径下

/home/yao/anaconda3/envs/pyqt5/lib/python3.7/site-packages

然后,刚刚安装的工具包中,就有 QtDesigner,路径如下

/home/yao/anaconda3/envs/pyqt5/lib/python3.7/site-packages/qt5_applications/Qt/bin/designer

QtDesigner 可以帮助我们设计界面,并保存为 ui 文件

打开 Pycharm 新建一个项目 myPyQt5

文件 → 设置 → 工具 → 外部工具 → 点击 + 号

名称:QtDesigner
程序:/home/yao/anaconda3/envs/pyqt5/lib/python3.7/site-packages/qt5_applications/Qt/bin/designer
工作目录:$ProjectFileDir$
在这里插入图片描述
工具 → 外部工具 → QtDesigner
如果能打开这个界面,说明配置成功了
在这里插入图片描述

4. 在 Pycharm 中配置 PyUIC

PyUIC 是一个代码转换工具,可以将 QtDesigner 输出的 ui 文件 转换为 py 文件
名称:PyUIC
程序:/home/yao/anaconda3/envs/pyqt5/bin/pyuic5
实参:$FileName$ -o $FileNameWithoutExtension$.py
工作目录:$ProjectFileDir$
在这里插入图片描述
可以先用 QtDesigner 创建一个界面,保存为 test.ui
在这里插入图片描述
这个 test.ui 文件中就定义了这些界面的样式
在这里插入图片描述
你在 Pycharm 中,选中 test.ui → 右键 → 外部工具 → PyUIC
就可以把这个 ui 文件 转换成对应的 py 文件
在这里插入图片描述
写点代码,调用它

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog
from test import Ui_Form # 导入转换出来的界面



class MyUi(QDialog, Ui_Form):
    def __init__(self, parent=None):
        super(MyUi, self).__init__(parent)
        self.setupUi(self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    myWin = MyUi()
    myWin.show()
    sys.exit(app.exec_())

在这里插入图片描述

5. 解决 QtDesigner 无法输入中文

原因:需要一个 fcitxt 输入法的动态库 libfcitxplatforminputcontextplugin.so

# 安装 fcitx-frontend-qt5
sudo apt-get install fcitx-frontend-qt5

# 查看安装库路径
dpkg -L fcitx-frontend-qt5

这个库在这个路径下

/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

把它拷贝到你 PyQt 安装目录下的 plugins/platforminputcontexts 即可
但是要注意,因为我这里是用 Anaconda 创建出的虚拟环境中安装的 PyQt5 和 PyQt5-tools
所以需要到 site-packages/qt5_applications/Qt/plugins 下手动建立一个的 platforminputcontexts

# 移动目的地,并创建文件夹
cd /home/yao/anaconda3/envs/pyqt5/lib/python3.7/site-packages/qt5_applications/Qt/plugins
mkdir platforminputcontexts

# 拷贝
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ./platforminputcontexts

# 修改权限
cd platforminputcontexts
sudo chmod 777 libfcitxplatforminputcontextplugin.so

实在解决不了的话,你就简单粗暴一点,直接在别的地方把中文写好,然后复制到 Qt Designer 里面也是一样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值