1、使用Anaconda,在pycharm下安裝pyside2。安裝方法有下面幾種:
- 使用pycharm里面的file->settings>project interrupt進行安裝大概率會失敗,提示時間超時timeout。
- 使用pycharm下的終端進行安裝,也大概率會失敗,因為下載速度太慢,這個包有100多M
pip install PySide2 # For the latest version on PyPi
-
通過http下載
pip install --index-url=http://download.qt.io/snapshots/ci/pyside/5.12/latest pyside2 --trusted-host download.qt.io
- 通過官網下載 pip install 對應的pyside2版本.whl
推薦使用第3種方法下載。
2、終端提示下載安裝成功,運行示例,發現提示缺少shiboke庫,直接在終端pip install shiboke。
3、運行官方示例程序(示例程序在最后面),發現提示沒有安裝PySide2庫,打開項目下的venv/Lib/site-packages/,發現沒有Pyside2,使用終端重新執行安裝命令,提示該庫已經存在。
這時,我們去anaconda的安裝路徑下找到Pyside2的文件夾,如果anaconda是默認安裝路徑,那么路徑為C:\ProgramData\Anaconda3\Lib\site-packages,找到PySide2,把該文件夾和PySide2-5.15.0.dist-info文件夾一起復制到項目下的venv/Lib/site-packages/文件夾下,繼續找到shiboke2和shiboken2-5.15.0.dist-info文件夾,復制到項目下的site-packages文件夾下。
Pycharm在項目上右鍵選擇Reload form Disk,發現項目下的venv/Lib/site-packages/已經有了Pyside2和shiboke2的包。打開project interrupt,可以看到這兩個包也有了。
4、繼續嘗試運行示例程序,發現提示Qt平台插件沒有初始化。
此時,我看網上的解決辦法有兩種選擇,一種打開環境變量,在用戶變量里面添加,但是,我選擇這種辦法沒有成功,還是有相同的錯誤提示。
另外一種方法是,打開項目下的Pyside2文件夾下的__init__.py文件,添加代碼:(需要注意的是如果修改的是anaconda路徑下的__init__.py文件,會提示錯誤)
保存,運行程序。成功了。
示例程序:
import sys import random from PySide2 import QtCore, QtWidgets, QtGui class MyWidget(QtWidgets.QWidget): def __init__(self): super().__init__() self.hello = ["Hallo Welt", "Hei maailma", "Hola Mundo", "Привет мир"] self.button = QtWidgets.QPushButton("Click me!") self.text = QtWidgets.QLabel("Hello World") self.text.setAlignment(QtCore.Qt.AlignCenter) self.layout = QtWidgets.QVBoxLayout() self.layout.addWidget(self.text) self.layout.addWidget(self.button) self.setLayout(self.layout) self.button.clicked.connect(self.magic) def magic(self): self.text.setText(random.choice(self.hello)) if __name__ == "__main__": app = QtWidgets.QApplication([]) widget = MyWidget() widget.resize(800, 600) widget.show() sys.exit(app.exec_())
如果還有問題的朋友,可以一起交流學習。