1. 需求
需要在jetson nano的conda环境(请安装miniforge3)中安装pyqt5,方便展示界面。
2. 实现
参考博客《jetson nano安装pyqt5遇到的问题及解决办法》
依次执行以下步骤
2.1. 安装pyqt5
sudo apt install pyqt5*
sudo apt-get install python3-pyqt5
以上安装的pyqt5仅供系统使用,如果要在conda环境中使用,需要创建软连接。
2.2. 软连接到conda环境
我的miniforge3安装地址为~/miniforge3,conda环境为mytest,环境中使用的python为3.6。基于以上信息,创建软连接如下
ln -s /usr/lib/python3/dist-packages/PyQt5/ ~/miniforge3/envs/mytest/lib/python3.6/site-packages
ln -s /usr/lib/python3/dist-packages/sip* ~/miniforge3/envs/mytest/lib/python3.6/site-packages
3. 测试
测试文档来自于博客《PyQt系列-1 PyQT安装与最简DEMO》
conda activate mytest
vim test.py
输入如下测试代码
"""
http://www.u3d8.com/?p=1350
"""
import sys
from PyQt5.QtWidgets import QApplication,QWidget
from PyQt5 import QtCore
from PyQt5.QtCore import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setFixedWidth(300)
self.setFixedHeight(200)
self.setWindowTitle('按键检测')
self.show()
# 检测键盘回车按键
def keyPressEvent(self, event):
print("按下:" + str(event.key()))
# 举例
if(event.key() == Qt.Key_Escape):
print('测试:ESC')
if(event.key() == Qt.Key_A):
print('测试:A')
if(event.key() == Qt.Key_1):
print('测试:1')
if(event.key() == Qt.Key_Enter):
print('测试:Enter')
if(event.key() == Qt.Key_Space):
print('测试:Space')
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
print("鼠标左键点击")
elif event.button() == Qt.RightButton:
print("鼠标右键点击")
elif event.button() == Qt.MidButton:
print("鼠标中键点击")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())
保存退出后,运行
python test.py
即可出现窗口。