Pycharm+QTDesigner+PyQt5環境配置


python+PyQt5寫界面很方便,記錄下個人配置環境過程。。。。

 

安裝軟件:

  • pycharm2017
  • Qt5.9.6
  • python3.6.6/python2.7.15

 

配置PyQt5:

python3

pip3 install PyQt5

 

python2

pip2.7 install python-qt5

注:據說PySide2好用,開源免費,所以很多人都有安裝;這個也很簡單,直接pip install PySide2

Windows平台的很多人安裝完都會出現運行錯誤,這里總結下個人經驗:

1.Windows7出現無法加載動態鏈接庫,基本關機一天,第二天起來電腦就正常可以了,還不行的話就要安裝一些微軟的底層庫如VS系列依賴庫(鏈接:https://pan.baidu.com/s/10nyUovLGfJoZ4lAnTmAPmw 提取碼:i78l );windows10應該就不會出現這樣的情況

2.出現其他錯誤,可能是缺少sip庫,安裝python3 PyQt5時是會自動安裝的,所以應該是不會有問題;但python2可能要我們自己手動安裝sip,pip install sip/python-sip,這個可以自己去嘗試

3.建議安裝科學環境anaconda,第三方庫特別豐富

 

配置pycharm:

配置QTDesigner

 

配置PyUIC

Program:

E:\Python27\python.exe

Parameters:

-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

Working directory:

$FileDir$

 

將UI文件轉為.py文件

 

打開UI.py文件

 

主文件

這里有一點需要注意:

因為我們同時安裝了PyQt5和PySide2,所以我們只能任選其中一個進行導入,且主文件和UI文件導入的包必須一致,不能一個導入PySide2,一個導入PyQt5

 

#hello.py
#
-*-coding:utf-8-*- from PyQt5 import QtCore,QtGui,QtWidgets from PyQt5.QtCore import QTimer from PyQt5.QtWidgets import QDialog,QMessageBox from UI import * import sys import os import numpy as np import matplotlib.pyplot as plt import threading class TonyFrame(QDialog): # **************************************************************# #initial function def __init__(self,parent=None): try: super(TonyFrame,self).__init__(parent) self.ui = Ui_Form() self.ui.setupUi(self) except: print ("__init__ except fail") #self.ShowErroeMessage("__init__ except fail") app = QtWidgets.QApplication(sys.argv) myTonyFrame = TonyFrame() myTonyFrame.show() myTonyFrame.exec_()
#UI.py
#
-*- coding: utf-8 -*- # Form implementation generated from reading ui file 'hello.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! #from PySide2 import QtWidgets,QtGui,QtCore from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(339, 207) self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(120, 80, 81, 41)) font = QtGui.QFont() font.setPointSize(15) self.label.setFont(font) self.label.setObjectName("label") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.label.setText(_translate("Form", "世界你好"))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM