NVIDIA Jetson AGX Xavier安装pyQT

Xavier安装QT5及charts模块
QT的强大不用多说,其信号-槽机制以及强大的跨平台能力优势明显。下图是Gaosiy在jetson Xavier上用QT开发的带GUI的多节点信号传输程序。
NVIDIA Jetson AGX Xavier安装pyQT_第1张图片

使用了多线程和socket网络编程,关键的关键是,这个程序是我从Windows上开发的,拿到jetson上直接可以跑,这就是QT的强大之处。

安装QT5
只需一句代码

sudo apt-get install qt5-default qtcreator -y

安装charts组件
charts组件的用途是把信号图形化显示,不需要的可以不用安装

sudo  apt install libqt5charts5 libqt5charts5-dev

OK,安装完成在系统中直接搜索QT,开始你的jetson编程之旅吧

官方参考安装方式 https://www.jetsonhacks.com/2017/01/31/install-qt-creator-nvidia-jetson-tx1/

如下:

首先在终端输入命令

sudo apt-get install qt5-default qtcreator -y

然后等待qt5安装成功后需要设置编译器。打开Qt Creator,并转到:

工具 - >选项 - >构建和运行 - >编译器

点击“添加”按钮并选择“GCC”。在“编译器路径:”文本框中,将路径放置到gcc编译器。在标准安装中,路径是:/ usr / bin / gcc。这是第一个问题发挥的地方。将GCC添加到编译器列表中时,它不会正确设置处理器体系结构标志。如视频所示,通过修改GCC编译器对话框的ABI部分来解决此问题。将设置更改为:

custom - arm - linux - generic - elf - 64位

然后点击“应用”保存修改

第三步也是最后一步是添加一个支持GCC编译器的工具包。点击’ 套件 '标签。“ 桌面 ”套件似乎在设置编译器时遇到了问题。这意味着可以找到桌面套件配置文件并手动修改它,或者也可以一起创建一个新的套件。

安装examples

sudo apt-get install qt5-doc qt5-doc-html qtbase5-doc-html qtbase5-examples -y

如果遇到qt无法找到libGL.so的问题,执行如下指令

$ cd /usr/lib/aarch64-linux-gnu
$ sudo rm libGL.so
$ sudo ln -s /usr/lib/aarch64-linux-gnu/tegra/libGL.so libGL.so

1.主要用到 QFileDialog 方法打开本地文件
2.界面

打开前:

NVIDIA Jetson AGX Xavier安装pyQT_第2张图片

打开后:

NVIDIA Jetson AGX Xavier安装pyQT_第3张图片

  1. 代码
import sys
from PyQt5 import QtWidgets, QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class picture(QWidget):
    def __init__(self):
        super(picture, self).__init__()

        self.resize(600, 400)
        self.setWindowTitle("label显示图片")

        self.label = QLabel(self)
        self.label.setText("   显示图片")
        self.label.setFixedSize(300, 200)
        self.label.move(160, 160)

        self.label.setStyleSheet("QLabel{background:white;}"
                                 "QLabel{color:rgb(300,300,300,120);font-size:10px;font-weight:bold;font-family:宋体;}"
                                 )

        btn = QPushButton(self)
        btn.setText("打开图片")
        btn.move(10, 30)
        btn.clicked.connect(self.openimage)
    def openimage(self):
        imgName, imgType = QFileDialog.getOpenFileName(self, "打开图片", "", "*.jpg;;*.png;;All Files(*)")
        jpg = QtGui.QPixmap(imgName).scaled(self.label.width(), self.label.height())
        self.label.setPixmap(jpg)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    my = picture()
    my.show()
    sys.exit(app.exec_())

参考文献:
https://blog.csdn.net/we1583004we/article/details/80353798
https://blog.csdn.net/huiyuanliyan/article/details/92798313
https://blog.csdn.net/qq_32973061/article/details/81139689

你可能感兴趣的:(工程,qt,开发语言)