pycharm qt designer_pycharm怎么运行py文件

pycharm qt designer_pycharm怎么运行py文件pycharm集成QTdesigner+ui转py工具前言一、前期安装二、pycharm配置QTdesigner1.外部工具配置2.pycharm可直接调用designer三、pycharm配置pyuic(将ui文件转换为py文件)1.外部工具配置2.pycharm可直接调用pyuic工具四、显示代码和逻辑代码分离1.使用designer设计示意界面总结前言后面使用PyQt5开始设计界面、使用pycharm这个IDE进行逻辑代码和界面代码的融合。一、前期安装前提:按照《PythonGUI.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


前言


后面使用PyQt5开始设计界面、使用pycharm这个IDE进行逻辑代码和界面代码的融合。

一、前期安装

前提:按照《Python GUI设计PyQt5从入门到实践》此书已经将python、pyqt5-tools、pyqt5designer安装完毕,安装方式为pip命令行方式。
安装完成后如下图所示:
在这里插入图片描述

二、pycharm配置 QTdesigner

1.外部工具配置

在这里插入图片描述

2.pycharm可直接调用designer

功在这里插入图片描述

在这里插入图片描述

三、pycharm配置 pyuic(将ui文件转换为py文件)

1.外部工具配置

在这里插入图片描述

2.pycharm可直接调用pyuic工具

选用.ui文件就可以使用工具生成对应的py文件。
在这里插入图片描述

四、显示代码和逻辑代码分离

1.使用designer设计示意界面

在这里插入图片描述
1.保存为button_test1.ui
2.使用工具pyuic将button_test1.ui转换为button_test1.py
其结果如下:

from PyQt5 import QtCore, QtGui, QtWidgets
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.horizontalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(100, 130, 421, 80))
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.pushButton_4 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
self.pushButton_4.setObjectName("pushButton_4")
self.horizontalLayout.addWidget(self.pushButton_4)
self.pushButton_5 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
self.pushButton_5.setObjectName("pushButton_5")
self.horizontalLayout.addWidget(self.pushButton_5)
self.pushButton_3 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
self.pushButton_3.setObjectName("pushButton_3")
self.horizontalLayout.addWidget(self.pushButton_3)
self.pushButton_2 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
self.pushButton_2.setObjectName("pushButton_2")
self.horizontalLayout.addWidget(self.pushButton_2)
self.pushButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
self.pushButton.setObjectName("pushButton")
self.horizontalLayout.addWidget(self.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_4.setText(_translate("MainWindow", "PushButton"))
self.pushButton_5.setText(_translate("MainWindow", "PushButton"))
self.pushButton_3.setText(_translate("MainWindow", "BUTTON1"))
self.pushButton_2.setText(_translate("MainWindow", "BUTTON2"))
self.pushButton.setText(_translate("MainWindow", "BUTTON3"))

3.新建pyqt5_test1.py 将button_test1.py当成类来引用。

import sys
import button_test1
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
# 创建QApplication类的实例
app = QApplication(sys.argv)
# 创建一个主窗口
mainWindow = QMainWindow()
# 创建Ui_MainWindow的实例
ui = button_test1.Ui_MainWindow()
# 调用setupUi在指定窗口(主窗口)中添加控件
ui.setupUi(mainWindow)
# 显示窗口
mainWindow.show()
# 进入程序的主循环,并通过exit函数确保主循环安全结束
sys.exit(app.exec_())

运行此程序,结果如下图所示:
在这里插入图片描述

2.将界面与逻辑分离

1.继承界面文件的主窗口类即可

import sys
import button_test1  #导入模块,不然本文件不认识,无法调用
from button_test1 import *  #导入模块里面的类
from PyQt5.QtWidgets import QApplication, QMainWindow
class MyMainWindow(QMainWindow,Ui_MainWindow):#类的参数没看明白
def __init__(self,parent=None):
super(MyMainWindow,self).__init__(parent)
self.setupUi(self)
if __name__ == '__main__':
app = QApplication(sys.argv)
my_window = MyMainWindow()
my_window.show()
sys.exit(app.exec_())

总结

以后开发环境只用打开pycharm就可以了,pycharm中可以打开designer界面来进行界面设计,
pycharm中也可以使用pyUIC来将ui文件转换为py文件,
最后将界面与逻辑代码隔离,界面的修改不会影响逻辑代码,完美。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/174372.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • tomcat java_tomcat和maven的区别

    tomcat java_tomcat和maven的区别缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

  • Linux命令行大全

    Linux命令行大全#Linux命令行大全###第一部分学习shell####1shell是什么#####1.1终端仿真器#####1.2第一次键盘输入######1.2.1命令历史记录######

  • matlab fmincon函数格式,求助 fmincon 函数调用格式说明

    matlab fmincon函数格式,求助 fmincon 函数调用格式说明functionKineticsEstclearallclck0=[0.50.50.50.50.5];%参数初值lb=[00000];%参数下限ub=[+inf+inf+inf+inf+inf];%参数上限x0=[0.18830.25070.0467…

  • Java—网络编程

    Java—网络编程1.网络编程的基本概念1.1网络的概念网络:一组相互连接的计算机,多台计算机组成,使用物理线路进行连接1.2网络连接的功能1.3网络编程的三要素1)IP地址:唯一标识网络上的每一台计算机,两台计算机之间通信的必备要素。2)端口号:计算机中应用的标号(代表一个应用程序),0-1024系统使用或保留端口,端口号占2个字节,所以有效端口0-65535.3)通信协议:通信的规则TCP,UDP4)注意:在通信协议相同的情况下,端口号才是唯一的。2.IP_端口_Scoket含义2.1IP地

  • 设置PyCharm使用Anaconda的环境[通俗易懂]

    设置PyCharm使用Anaconda的环境[通俗易懂]设置PyCharm使用Anaconda的环境PyCharm的安装以及Anaconda的安装和环境的新建这里就不做赘述了。为每一个PyCharm中的project设置特定的编译器及资源路径在PyCharm中新建一个project后,该项目的默认编译器应该是系统默认的python.exe。为了选择特定的编译环境,我们需要个性化设置一下。首先点击菜单栏中的File,打开Settings。在Pr…

  • 自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令

    自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号