zoukankan      html  css  js  c++  java
  • pyqt5环境搭建

    一、环境安装

    (一)包下载安装

    1、创建虚拟环境

    使用anaconda创建一个虚拟环境:

    (base) C:UsersAdministrator>conda create -n pyqt5_study python==3.5.2

    2、安装pyqt5

    (pyqt5_study) E:pythonpip-18.1>pip install PyQt5 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

    3、安装pyqt5-tools

    (pyqt5_study) E:pythonpip-18.1>pip install pyqt5-tools -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

    之所以安装这个包,是因为我们需要使用它的QtDesigner。

    (二)PyCharm中进行配置

    1、配置虚拟环境

    在创建项目时,指定项目的虚拟环境。

    2、配置QtDesigner

    在File-->Settings-->Tools-->External Tools中添加工具:

     3、配置PyUIC

    这个是将上面QtDesigner工具产生的ui文件转成py文件:

    Arguments:

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

    二、测试

    (一)代码编写

    from PyQt5.QtWidgets import QApplication,QWidget
    import sys
    
    if __name__ == '__main__':
        app = QApplication(sys.argv) #创建QApplication类的实例
        w = QWidget() #创建一个窗口
        w.resize(500,300) #设置窗口的尺寸
        w.move(400,400) #移动窗口
        w.setWindowTitle('桌面应用') #设置窗口的标题
        w.show() #显示窗口
        sys.exit(app.exec_()) #进入程序主循环,窗口不会关闭,并且exit函数确保主循环安全退出

    运行:

     这里面涉及两个很重要的类需要导入就是QApplication和QWidget,下面是用图形化的方式完成测试。

    (二)QtDesigner编写

     1、启动QtDesigner

    界面如下图所示:

     新建一个MainWindow并且拖动一个组件:

    然后将其保存成ui文件。

    2、转成py文件

     需要在转成的py文件加入以下内容才能运行:

    import sys
    
    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        MainWindow = QtWidgets.QMainWindow()
        ui = Ui_MainWindow()
        ui.setupUi(MainWindow)
        MainWindow.show()
        sys.exit(app.exec_())
    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'test.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
    import sys
    
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(800, 600)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.pushButton = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton.setGeometry(QtCore.QRect(220, 180, 75, 23))
            self.pushButton.setObjectName("pushButton")
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
            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.pushButton.setText(_translate("MainWindow", "PushButton"))
    
    
    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        MainWindow = QtWidgets.QMainWindow()
        ui = Ui_MainWindow()
        ui.setupUi(MainWindow)
        MainWindow.show()
        sys.exit(app.exec_())
    完整代码
  • 相关阅读:
    深入nginx之《获取用户的真实IP》
    深入Nginx之《常用参数配置技巧》
    深入Nginx之《HTTP请求报文与HTTP响应报文》
    webapck html-loader 静态html模块化
    webpack四个基础概念
    从原生Android 跳转到hbuilder项目
    移动端适配方案 flexible.js
    vue使用px2rem
    koa2 post请求ctx.request.body空获取不到的解决办法
    url、href、src
  • 原文地址:https://www.cnblogs.com/shenjianping/p/12740709.html
Copyright © 2011-2022 走看看