Pycharm安装Qt Design快捷工具的详细教程


Posted in Python onNovember 18, 2020

在使用Python开发Gui程序可以使用Qt Design工具进行界面设计,下面记录在Pycharm中设置Qt Design快捷工具和如何把Qt Design中图形化的ui界面文件转化成py文件
先记录好需要填写的内容
1、Qt_Designer 快捷工具名称
2、(填写Qt安装的路径 designer.exe)
3、$ProjectFileDir$

1、PyUIC 快捷工具名称
2、python的安装目录
3、-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py Ui文件转py文件
4、$FileDir$ 文件目录

步骤一:pycharm中 File>Settings>Tools>External Tools,如下图所示,参考截图设置

Pycharm安装Qt Design快捷工具的详细教程
Pycharm安装Qt Design快捷工具的详细教程

设置好后就可以在Pycharm中看到该工具

Pycharm安装Qt Design快捷工具的详细教程

接下来用Qt Design设计一款Gui界面,如下图

Pycharm安装Qt Design快捷工具的详细教程

在Qt Designer可视化界面设计好后导出该文件,最后用PyUIC工具转化成python代码

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'chepiao.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5.QtGui import QPalette,QPixmap,QColor


class Ui_MainWindow(object):
  def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(960, 786)
    MainWindow.setMinimumSize(QtCore.QSize(960, 786))
    MainWindow.setMaximumSize(QtCore.QSize(960, 786))
    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.label_title_img = QtWidgets.QLabel(self.centralwidget)
    self.label_title_img.setGeometry(QtCore.QRect(0, 0, 960, 141))

    title_img = QPixmap('png/bg1.png') # 打开顶部位图
    self.label_title_img.setPixmap(title_img) #设置调色板

    self.label_title_img.setText("")
    self.label_title_img.setObjectName("label_title_img")
    self.widget_query = QtWidgets.QWidget(self.centralwidget)
    self.widget_query.setGeometry(QtCore.QRect(0, 141, 960, 80))
    #self.widget_query.setStyleSheet("background-image: url(:/png/bg3.png);")
    self.widget_query.setAutoFillBackground(True) #开启自动填充背景
    palette = QPalette() #调色板类
    palette.setBrush(QPalette.Background,QtGui.QBrush(QtGui.QPixmap('png/bg2.png')))
    self.widget_query.setPalette(palette)

    self.widget_query.setObjectName("widget_query")
    self.label = QtWidgets.QLabel(self.widget_query)
    self.label.setGeometry(QtCore.QRect(30, 30, 54, 12))
    self.label.setObjectName("label")
    self.textEdit = QtWidgets.QTextEdit(self.widget_query)
    self.textEdit.setGeometry(QtCore.QRect(80, 20, 110, 30))
    self.textEdit.setObjectName("textEdit")
    self.label_2 = QtWidgets.QLabel(self.widget_query)
    self.label_2.setGeometry(QtCore.QRect(240, 30, 54, 12))
    self.label_2.setObjectName("label_2")
    self.textEdit_2 = QtWidgets.QTextEdit(self.widget_query)
    self.textEdit_2.setGeometry(QtCore.QRect(300, 20, 110, 30))
    self.textEdit_2.setObjectName("textEdit_2")
    self.label_3 = QtWidgets.QLabel(self.widget_query)
    self.label_3.setGeometry(QtCore.QRect(490, 30, 54, 12))
    self.label_3.setObjectName("label_3")
    self.textEdit_3 = QtWidgets.QTextEdit(self.widget_query)
    self.textEdit_3.setGeometry(QtCore.QRect(560, 20, 110, 30))
    self.textEdit_3.setObjectName("textEdit_3")
    self.toolButton = QtWidgets.QToolButton(self.widget_query)
    self.toolButton.setGeometry(QtCore.QRect(720, 22, 54, 26))
    self.toolButton.setObjectName("toolButton")
    self.textEdit_2.raise_()
    self.label.raise_()
    self.label_2.raise_()
    self.label_3.raise_()
    self.textEdit.raise_()
    self.textEdit_3.raise_()
    self.toolButton.raise_()
    self.label_cepiaptype = QtWidgets.QLabel(self.centralwidget)
    self.label_cepiaptype.setGeometry(QtCore.QRect(0, 220, 960, 60))
    #self.label_cepiaptype.setStyleSheet("background-image: url(:/png/bg3.png);")

    self.label_cepiaptype.setAutoFillBackground(True) # 开启自动填充背景
    palette = QPalette() # 调色板类
    palette.setBrush(QPalette.Background, QtGui.QBrush(QtGui.QPixmap('png/bg3.png')))
    self.label_cepiaptype.setPalette(palette)


    self.label_cepiaptype.setText("")
    self.label_cepiaptype.setObjectName("label_cepiaptype")
    self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
    self.checkBox.setGeometry(QtCore.QRect(100, 240, 71, 16))
    self.checkBox.setObjectName("checkBox")
    self.checkBox_2 = QtWidgets.QCheckBox(self.centralwidget)
    self.checkBox_2.setGeometry(QtCore.QRect(250, 240, 71, 16))
    self.checkBox_2.setObjectName("checkBox_2")
    self.checkBox_3 = QtWidgets.QCheckBox(self.centralwidget)
    self.checkBox_3.setGeometry(QtCore.QRect(400, 240, 71, 16))
    self.checkBox_3.setObjectName("checkBox_3")
    self.checkBox_4 = QtWidgets.QCheckBox(self.centralwidget)
    self.checkBox_4.setGeometry(QtCore.QRect(550, 240, 71, 16))
    self.checkBox_4.setObjectName("checkBox_4")
    self.checkBox_5 = QtWidgets.QCheckBox(self.centralwidget)
    self.checkBox_5.setGeometry(QtCore.QRect(700, 240, 71, 16))
    self.checkBox_5.setObjectName("checkBox_5")
    self.label_4 = QtWidgets.QLabel(self.centralwidget)
    self.label_4.setGeometry(QtCore.QRect(30, 240, 54, 12))
    self.label_4.setObjectName("label_4")
    self.label_cepiaptype_2 = QtWidgets.QLabel(self.centralwidget)
    self.label_cepiaptype_2.setGeometry(QtCore.QRect(0, 280, 960, 60))
    #self.label_cepiaptype_2.setStyleSheet("background-image: url(:/png/bg4.png);")
    self.label_cepiaptype_2.setAutoFillBackground(True) # 开启自动填充背景
    palette = QPalette() # 调色板类
    palette.setBrush(QPalette.Background, QtGui.QBrush(QtGui.QPixmap('png/bg4.png')))
    self.label_cepiaptype_2.setPalette(palette)

    self.label_cepiaptype_2.setText("")
    self.label_cepiaptype_2.setObjectName("label_cepiaptype_2")
    self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)
    self.textBrowser.setGeometry(QtCore.QRect(0, 340, 970, 450))
    self.textBrowser.setObjectName("textBrowser")
    self.widget_query.raise_()
    self.label_cepiaptype.raise_()
    self.label_title_img.raise_()
    self.checkBox.raise_()
    self.checkBox_2.raise_()
    self.checkBox_3.raise_()
    self.checkBox_4.raise_()
    self.checkBox_5.raise_()
    self.label_4.raise_()
    self.label_cepiaptype_2.raise_()
    self.textBrowser.raise_()
    MainWindow.setCentralWidget(self.centralwidget)

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)

  def retranslateUi(self, MainWindow):
    _translate = QtCore.QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", "快手爬票"))
    self.label.setText(_translate("MainWindow", "出发地"))
    self.label_2.setText(_translate("MainWindow", "目的地"))
    self.label_3.setText(_translate("MainWindow", "出发日期"))
    self.toolButton.setText(_translate("MainWindow", "查询"))
    self.checkBox.setText(_translate("MainWindow", "GC-高铁"))
    self.checkBox_2.setText(_translate("MainWindow", "D-动车"))
    self.checkBox_3.setText(_translate("MainWindow", "Z-直达"))
    self.checkBox_4.setText(_translate("MainWindow", "T-特快"))
    self.checkBox_5.setText(_translate("MainWindow", "K-快速"))
    self.label_4.setText(_translate("MainWindow", "车次类型:"))

def show_MainWindow():
  app = QtWidgets.QApplication(sys.argv)
  MainWindow = QtWidgets.QMainWindow()
  ui = Ui_MainWindow()
  ui.setupUi(MainWindow)
  MainWindow.show()
  sys.exit(app.exec_())
show_MainWindow()

设计好界面后接下来完成功能

Pycharm安装Qt Design快捷工具的详细教程

到此这篇关于Pycharm安装Qt Design快捷工具的文章就介绍到这了,更多相关Pycharm安装Qt Design快捷工具内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
如何解决django配置settings时遇到Could not import settings 'conf.local'
Nov 18 Python
python自然语言编码转换模块codecs介绍
Apr 08 Python
Python中装饰器高级用法详解
Dec 25 Python
详解python3中的真值测试
Aug 13 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
python网络编程 使用UDP、TCP协议收发信息详解
Aug 29 Python
python 实现从高分辨图像上抠取图像块
Jan 02 Python
python代码xml转txt实例
Mar 10 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 Python
Python中常见的数制转换有哪些
May 27 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
May 13 Python
Python - 10行代码集2000张美女图
May 23 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 #Python
Python urllib3软件包的使用说明
Nov 18 #Python
Python从文件中读取数据的方法步骤
Nov 18 #Python
详解Python中如何将数据存储为json格式的文件
Nov 18 #Python
python3中calendar返回某一时间点实例讲解
Nov 18 #Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 18 #Python
python 实现弹球游戏的示例代码
Nov 17 #Python
You might like
一个简单的PHP投票程序源码
2007/03/11 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
JavaScript多线程的实现方法
2007/05/08 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
简述AngularJS相关的一些编程思想
2015/06/23 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
Python正则表达式匹配ip地址实例
2014/10/09 Python
python提取字典key列表的方法
2015/07/11 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
使用OpenCV实现仿射变换—平移功能
2019/08/29 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
Python生成器generator原理及用法解析
2020/07/20 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
2021/02/20 Python
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
网吧收银员岗位职责
2013/12/14 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
年终晚会活动方案
2014/08/21 职场文书
科学发展观演讲稿
2014/09/11 职场文书
教师个人事迹材料
2014/12/17 职场文书