CMD下使用pip安装PyQt4或者PYQT5

这里要注意,你下载的PYQT5不包含QT designer

还要:pip3 install PyQt5-tools,好像Pyqt5中将designer分离了或者查看源码:https://github.com/altendky/pyqt5-tools,编译安装

将QT Designer整合到PyCharm的External Tools中,以后就可以非常方便的调用QT Designer工具了。

添加QTDesgner Tool

打开PyCharm的Settings: 

 Search “tools” & select “External Tools” 

点击”+” 号,添加QT Designer External Tools 
注意:$FileDir$ 变量可以从Insert macro中选择 ,也可以手写

名字随意起,主要是能找到PyQt4下的designer.exe文件,工作目录则是$FileDir$,意思为当前文件所在目录

添加PyUIC Tool

这个Tool能够将QT Designer生成的.ui文件转化为.py文件。 
主要是通过QT指令来实现的:

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

当然也可以在commands prompt中使用这条指令。

或者例如:pyuic4.exe -o ui_Login.py Login.ui(我一般用这个)把Login.ui 生成ui_Login.py文件

配置如图,名称:自定义。
程序栏写入python所在目录下的python.exe文件。参数则是:-m PyQt4.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
就是生成一个与当前操作文件相同名字的python文件。(如若用的是PyQT5,将数字4换成5即可,其他无需动)
工作目录则是$FileDir$,意思为当前文件所在目录 点击tools文件下的External Tools会出现刚刚添加的扩展工具
练习使用:
使用designer,
点击tools文件下的External Tools会出现刚刚添加的扩展工具(或者找到PyQt4中的designer.exe文件,双击打开)



直接出现designer界面:
设计了一个简单的登陆窗口,文件名为Login.ui,如图(如何设计后文介绍): 

将.ui文件生成.py文件: 

第一种方式:
命令行中输入如下命令 pyuic5.exe -o ui_Login.py Login.ui处理完成后会在同目录下生成问价ui_Login.py
第二种方式:
将Login.ui添加到pycharm中,点击Login.ui(即选中)只后在扩张工具中找到PyUIC,点击之后就会在同级目录下生成ui_Login.py文件,如图:
使用Pycharm,pyuic将.ui文件转换为.py文件时要删除三行ui代码
MainWindow.setCentralWidget(self.centralwidget)、  
MainWindow.setMenuBar(self.menubar)、   
MainWindow.setStatusBar(self.statusbar)
而且要增加代码:
1
2
3
4
5
6
7
8
if __name__=="__main__"
    import sys 
    app=QtWidgets.QApplication(sys.argv) 
    widget=QtWidgets.QWidget() 
    ui=Ui_MainWindow() 
    ui.setupUi(widget) 
    widget.show() 
    sys.exit(app.exec_())
只有就可以直接运行代码
ui_Login源代码(如果安装pyqt4,即可直接运行):
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'C:\Users\Administrator\Desktop\Login.ui'
#
# Created by: PyQt5 UI code generator 5.11.2
#
# 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(597, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(70, 80, 54, 12))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(70, 160, 54, 12))
self.label_2.setObjectName("label_2")
self.lineEditUser = QtWidgets.QLineEdit(self.centralwidget)
self.lineEditUser.setGeometry(QtCore.QRect(270, 70, 113, 20))
self.lineEditUser.setObjectName("lineEditUser")
self.lineEditPassword = QtWidgets.QLineEdit(self.centralwidget)
self.lineEditPassword.setGeometry(QtCore.QRect(270, 150, 113, 20))
self.lineEditPassword.setObjectName("lineEditPassword")
self.pushButtonOK = QtWidgets.QPushButton(self.centralwidget)
self.pushButtonOK.setGeometry(QtCore.QRect(160, 250, 75, 23))
self.pushButtonOK.setObjectName("pushButtonOK")
self.pushButtonCancel = QtWidgets.QPushButton(self.centralwidget)
self.pushButtonCancel.setGeometry(QtCore.QRect(280, 250, 75, 23))
self.pushButtonCancel.setObjectName("pushButtonCancel")
self.labelTips = QtWidgets.QLabel(self.centralwidget)
self.labelTips.setGeometry(QtCore.QRect(70, 220, 54, 12))
self.labelTips.setObjectName("labelTips")
# MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 597, 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.label.setText(_translate("MainWindow", "用户名"))
self.label_2.setText(_translate("MainWindow", "密码"))
self.pushButtonOK.setText(_translate("MainWindow", "确定"))
self.pushButtonCancel.setText(_translate("MainWindow", "取消"))
self.labelTips.setText(_translate("MainWindow", "TextLabel"))
if __name__=="__main__":
import sys
app=QtWidgets.QApplication(sys.argv)
widget=QtWidgets.QWidget()
ui=Ui_MainWindow()
ui.setupUi(widget)
widget.show()
sys.exit(app.exec_())
 

PyCharm+QT Designer整合的更多相关文章

  1. PyCharm+Qt Designer+PyUIC安装配置教程

    Qt Designer用于像VC++的MFC一样拖放.设计控件 PyUIC用于将Qt Designer生成的.ui文件转换成.py文件 Qt Designer和PyUIC都包含在PyQt5中,所以我们 ...

  2. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  3. PyCharm中Qt Designer+PyUIC配置

    本文环境配置: 系统=>windows10:64位 语言=>Python:3.7.1 第三方库PyQT5:5.11.3pyqt5-tools:5.11.3.1.4 工具=>PyCha ...

  4. QT designer的安装与汉化(pycharm)

    QT designer的安装 1.安装好Python3的环境 添加环境变量,保证安装正确, 2.安装PyQt5 采用命令安装,Win+R,输入CMD,打开命令框,输入以下命令.后面是豆瓣的镜像地址,是 ...

  5. PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程

    摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合.这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的 ...

  6. Win10安装PyQt5与Qt Designer【转】

    https://blog.csdn.net/u011342224/article/details/78879633 1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 ...

  7. Win10安装PyQt5与Qt Designer

    1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 会自动下载PyQt5以及sip并安装,因为PyQt5不再提供Qt Designer等工具,所以需要再安装pyqt5- ...

  8. python的部分GUI模块简介tkinter、pyqt5(Qt Designer)

    笔者认为,这两个作为Python3较为常用且简单的GUI模块,是Python开发者所必须学习至少是了解的. 其中tkinter为Python3自带的GUI模块,而pyqt5则需要通过pip insta ...

  9. PyQt(Python+Qt)学习随笔:Qt Designer中图像资源的使用及资源文件的管理

    一.概述 在Qt Designer中要使用图片资源有三种方法:通过图像文件指定.通过资源文件指定.通过theme主题方式指定,对应的设置界面在需要指定图像的属性栏如windowIcon中通过点击属性设 ...

随机推荐

  1. iDempiere 使用指南 windows下eclipse开发环境配置及打包下载

    Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idemp ...

  2. iDempiere 使用指南 测试 及 开发 虚拟机下载

    Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idemp ...

  3. Android 获取系统时间和网络时间

    有些时候我们的应用中只能使用网络时间,而不能使用系统的时间,这是为了避免用户关闭了使用网络时间的功能后所产生的误差. 直接上代码. 1.清单文件中网络添加权限. <!-- 访问Internet资 ...

  4. Android Proguard.flags LOCAL_PROGUARD_FLAGS

    在Android项目中用到JNI,当用了proguard后,发现native方法找不到很多变量,原来是被produard优化掉了.所以,在JNI应用中该慎用progurad啊. 解决办法: 1.在An ...

  5. Oracle VM virtualBox -Centos6.4 安装后没有网解决方法

    1.先修改Oracle VM virtualBox 的网络配置 2.然后启动centos输入:  dhclient eth0 3.然后如果没报错的话  输入: ifconfig  就可以查看到ip地址 ...

  6. CompletionService的异常处理

    一.采用take()方法时发生异常 示例代码: 情况一:异常比另一个正确任务,较晚出现,正确任务的结果会打印出 import java.util.concurrent.Callable; import ...

  7. siebel学习笔记-应用/数据访问控制

    应用/数据访问控制Siebel提供的两种主要的访问控制方式在View级别和Data(record)级别: 1.View级别的访问控制:一个企业通常按照功能进行工作的区分,分配给一个用户的功能决定了他能 ...

  8. SDET面试之感受篇。

    某年某月的某一天,我来到了太监村的一栋大厦,因为早到了半个小时,拿出来提前准备好的code随便的翻看着. 人家都说,面试头五分钟就已经决定了,是否能面试成功.所以,面试真正的真谛可能就是相面.什么写c ...

  9. mysql 统计连续天数

    以下为例子数据 图1 图1 首先根据要求取出BeforeMeal要在7.0以下 并且 bingAfterMeal要在11.1以下 select AccountId,CreateTime from Di ...

  10. A full JDK must be specified

    当你开发就了,你就发现,你遇到了各种奇葩的问题,结果,自己奇葩了. 背景:由于项目需要做安全恢复测试,然后,就搭一个新的库环境去测试: 配置jboss的运行jdk时,结果,蹦出个:A full JDK ...