在我的Ubuntu 14.04上成功安装PyQt5.5.1和Qt5.5.1之后,我使用QtQuick运行了我的简单pyqt文件并遇到了这个错误:
libQt5Network.so.5:未定义的符号:_Z24qt_subtract_from_timeoutii
之前有人遇到过这个问题吗?
感谢。
Python.py:
# Main Function
if __name__ == '__main__':
# Create main app
myApp = QApplication(sys.argv)
# Create a label and set its properties
appLabel = QQuickView()
appLabel.setSource(QUrl('basic.qml'))
# Show the Label
appLabel.show()
# Execute the Application and Exit
myApp.exec_()
sys.exit()
Basic.qml:
Grid {
id: colorPicker
rows: 2; columns: 3; spacing: 3
Rectangle { color: "white";}
Rectangle { color: "green";}
Rectangle { color: "blue"; }
Rectangle { color: "yellow";}
Rectangle { color: "steelblue";}
Rectangle { color: "black";}
}
答案 0 :(得分:0)
原因是我还安装了python-Qt5,它基于较旧的Qt5版本。
用
find / -name libQt*
我可以看到一些旧的qt lib驻留在/ usr / lib文件夹中:
/usr/lib/i386-linux-gnu/libQt5Network.so
/usr/lib/i386-linux-gnu/libQt5Network.so.5
/usr/lib/i386-linux-gnu/libQt5Network.so.5.2
/usr/lib/i386-linux-gnu/libQt5Network.so.5.2.1
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5.5
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5.5.1
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5
/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5
/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5.5.1
/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5
问题可能与qt库不一致,所以我删除了/ usr / lib中的所有qt库,并将其替换为我的主文件夹中的库。它工作正常!但是不建议这样做,因为一些内置的Ubuntu组件可能在/ usr / lib文件夹中使用libQt *。所以,只需删除python-qt5并重新安装pyqt5!
顺便说一句,对于与Sip API版本相关的错误,我们只需要运行以删除所有与sip相关的包,然后重新安装sip:
dpkg -l | grep sip
然后
sudo apt-get purge python3-sip python3-sip-dev