±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉܰ²×°¹¤¾ß°üÀ¨£ºÅäÖû·¾³±äÁ¿
¡¢ÅäÖÃPycharmÏà¹Ø£¬ÏêÇéÇë¿´ÏÂÎÄ¡£
±¾ÎÄÀ´×ÔÓÚ cnblogs£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼£¬ÍƼö¡£ |
|
ÎҵĵçÄÔ»·¾³ÊÇ£ºWin10 + Python3.6.4 + JetBrains
PyCharm 2017.3.2 x64
֮ǰÓÃtkinterд½çÃæ£¬ÏÖÔÚѧϰÈçºÎÓÃPyQt5д½çÃæ¡£
°²×°PyQt5
1. ½øÈëPythonµÄ°²×°Ä¿Â¼£¬ÕÒµ½ScriptÕâ¸öÎļþ¼Ð£¬Çл»Â·¾¶½øÈ¥£¬´ò¿ªcmd´°¿Ú
pip install PyQt5
2. °²×°tools
pip install PyQt5-tools
3. ÅäÖû·¾³±äÁ¿
×ÀÃæÉÏ¡°ÎҵĵçÄÔ¡±£¬Êó±êÓÒ¼üÑ¡Ôñ¡°ÊôÐÔ¡±£¬´ò¿ªºóÑ¡Ôñ¡°¸ß¼¶ÏµÍ³ÉèÖá±£¬¿ÉÒÔ¿´µ½×îÏÂÃæÓÐÒ»¸ö¡°»·¾³±äÁ¿¡±£¬È»ºóÔÚ¡°ÏµÍ³±äÁ¿¡±ÏÂÃæÌí¼ÓÒ»¸ö»·¾³±äÁ¿¡£
±äÁ¿Ãû£ºQT_QPA_PLATFORM_PLUGIN_PATH
·¾¶£º%PythonµÄ°²×°Â·¾¶%\Lib\site-packages\PyQt5\Qt\plugins


4. ÅäÖÃPycharm
´ò¿ªPycharm£¬µã»÷File-->Setting-->Tools-->External
Tools

Óұ߲¿·Ö±¾À´Êǿհף¬µã»÷¡°+¡±ºÅ£¬½øÐÐÈçÏÂÉèÖãº

Program£ºÊÇdesigner.exeËùÔڵķ¾¶£¬²»Í¬°æ±¾´æ´¢µÄ·¾¶¿ÉÄܲ»Ò»Ñù£¬µÃ×Ô¼ºÕÒ.
ÓеÄÊÇ%PythonµÄ°²×°Â·¾¶%\Lib\site-packages\pyqt5_tools\designer.exe¡£
ÓеÄÊÇ%PythonµÄ°²×°Â·¾¶%\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
Working directory¾ÍÌî¡°$FileDir$¡±£¬±È½Ï·½±ãµÄÒ²¿ÉÒÔµã»÷ÓÒ²àInsert
Macro...£¬È»ºóÕÒµ½¡°$FileDir$¡±¡£
Õâ¸ötoolÊÇ¿ÉÒÔÓÃÀ´Ð´UIµÄ£¬ÏÂÃæÒªÉèÖÃÒ»¸ö½«UI±ä³ÉpyÎļþµÄ¡£

Program£ºÊÇPythonµÄ°²×°Â·¾¶
Arguments£º-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory£º¡°$FileDir$¡±
µ½´ËΪֹ£¬ÉèÖþÍÍê³ÉÁË¡£ÄÇôÎÒÃÇÀ´¼òµ¥²âÊÔһϿɲ»¿ÉÒÔʹÓá£
дһ¸öUI
µÚÒ»²½£¬ÔÚÄãÐèҪдUIµÄÎļþ·¾¶ÏÂÓÒ»÷Ñ¡ÔñExternal Tools-->Designer

µÚ¶þ²½£¬»Í¼


µÚÈý²½£¬±£´æ»µÄͼµ½ÐèҪдUIµÄÎļþ·¾¶£¬È¡ÃûΪfirstpic.ui¡£½Ó׎«uiת»»³ÉpyÎļþ£¬ÓÒ»÷firstpic.ui-->External
Tools-->PyUIC

¾Í»áÔÚµ±Ç°Ä¿Â¼²úÉúÒ»¸öfirstpic.pyÎļþ£¬ÎļþÄÚÈÝÈçÏ£º
firstpic.py
# -*- coding:
utf-8 -*-
# Form implementation generated from reading
ui file 'firstpic.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will
be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1125, 877)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.listView = QtWidgets.QListView(self.centralwidget)
self.listView.setGeometry(QtCore.QRect(30, 10,
256, 192))
self.listView.setObjectName("listView")
self.treeView = QtWidgets.QTreeView(self.centralwidget)
self.treeView.setGeometry(QtCore.QRect(350,
10, 256, 192))
self.treeView.setObjectName("treeView")
self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox.setGeometry(QtCore.QRect(60, 240,
551, 411))
self.groupBox.setObjectName("groupBox")
self.label = QtWidgets.QLabel(self.groupBox)
self.label.setGeometry(QtCore.QRect(40, 30,
71, 16))
self.label.setObjectName("label")
self.textBrowser = QtWidgets.QTextBrowser(self.groupBox)
self.textBrowser.setGeometry(QtCore.QRect(110,
30, 256, 51))
self.textBrowser.setObjectName("textBrowser")
self.lcdNumber = QtWidgets.QLCDNumber(self.groupBox)
self.lcdNumber.setGeometry(QtCore.QRect(110,
120, 251, 41))
self.lcdNumber.setObjectName("lcdNumber")
self.progressBar = QtWidgets.QProgressBar(self.groupBox)
self.progressBar.setGeometry(QtCore.QRect(30,
230, 341, 23))
self.progressBar.setProperty("value",
24)
self.progressBar.setObjectName("progressBar")
self.calendarWidget = QtWidgets.QCalendarWidget(self.centralwidget)
self.calendarWidget.setGeometry(QtCore.QRect(650,
20, 312, 183))
self.calendarWidget.setObjectName("calendarWidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0,
1125, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow",
"MainWindow"))
self.groupBox.setTitle(_translate("MainWindow",
"GroupBox"))
self.label.setText(_translate("MainWindow",
"Hello World")) |
first.py
import sys
import firstpic
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = firstpic.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_()) |
È»ºóÓÒ»÷ÔËÐÐfirst.py¾Í¿ÉÒÔµ¯³ö´°¿ÚÁË£¬Ñ§»áÁËÂð¡£
|