python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

时间:2022-04-28 03:35:11

工具/版本

(1)安装环境:Windows7 64bit

(2)使用版本Python3.6

(3)PYQT5

(4)eric6

最近由于经常做界面,将遇到的一些模块使用方法记录,供日后查找使用。

用 Eric6 与 PyQt5 结合,非常方便的实现界面与逻辑分离,满足Python的极速GUI编程,你只需要关注程序的逻辑实现,而不需要在界面上花很多时间,可以说这是一对GUI开发完美的组合!

这里并不建议在其他地方开发界面,可能会有各种各样的报错,做好的方式就是,在pycharm中先开发主控程序,完成后直接添加到eric6中,在eric pyqt中中完成界面的设计和调试。

这节的目的是做一个界面,从文本框输入,点击开始后,输入框显示输出结果

一、版本安装

1、PYQT5,Eric6见前文安装篇https://blog.csdn.net/samenmoer/article/details/80302448


二、使用介绍

1、打开eric6

(1)打开方法为打开安装目录C:\Python34\Lib\site-packages\eric6-6.1.0\eric

双击eric6.pyw即可打开

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

2、新建一个项目

(1)打开Project/New

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(2)输入工程名,选择工程所在的路径,然后点击ok

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(3)完成后生成一个init.py里面是空的,不用理会

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(4)点击下图红框位置Forms,空白处点击右键,新建一个Form

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(5)选择窗口

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(6)输入命名

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(7)会自动调用Qtdesigner,打开软件

这里用了三个控件,label,lineEdit,pushButton

找到后,直接拖进框中,放置到合适的位置

双击label可以修改名称,同理,双击pushButton修改名称

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

点击某个控件,在右面的QObject中可以修改名称,所在位置,以及其他。

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(8)加一个点击退出关闭功能。选择复选框,然后选择close

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(9)完成后保存,回到eric6界面中,右键刚刚的hello.ui,compile form

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

可以看到source目录下多了一个py文件

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

个人习惯在pycharm中打开看代码,比较清晰舒服

运行后出现刚才的框,目前只有一个功能就是点击退出,可以关闭窗口

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(10)接下来完善代码,打开eric,然后生成代码

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

可以看到多了一个hello.py

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

(11)执行代码需要增加下面这段

if __name__ == '__main__':  app = QApplication(sys.argv)
    ui = MainWindow()
    ui.show()
    sys.exit(app.exec_())

需要把这两个库加上,还有把Ui_MainWindow前面的点"去掉

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

实现读入文本框中的数,并且在另一个框中写出

将这个函数修改为如下,点击按钮后,从lineEdit中读数,写入lineEdit_2中

def on_pushButton_clicked(self):  data_in = self.lineEdit.text()
    print(data_in)
    self.lineEdit_2.setText(data_in)

点击运行,出现窗口,然后在第一个框输入任意字符,如下

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面

点击开始两个框内容相同。

python学习记录之---------PYQT5做工具(1)eric与PYQT联合使用快速做界面


后记

简单实用就介绍到这里,本节主要有有eric和pyqt开发流程

按钮,文本框的输入输出

按钮使用

def on_pushButton_clicked(self):

data_in = self.lineEdit.text()#读取文本框内容
self.lineEdit_2.setText(data_in)#输出内容至文本框

附录全文源码

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

""" Module implementing MainWindow. """ import sys
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow, QApplication

from Ui_hello import Ui_MainWindow


class MainWindow(QMainWindow, Ui_MainWindow):  """  Class documentation goes here.  """  def __init__(self, parent=None):  """  Constructor   @param parent reference to the parent widget  @type QWidget  """  super(MainWindow, self).__init__(parent)
        self.setupUi(self)

    
    @pyqtSlot()
    def on_pushButton_clicked(self):  data_in = self.lineEdit.text()#读取文本框内容
        print(data_in)
        self.lineEdit_2.setText(data_in)#输出内容至文本框
if __name__ == '__main__':  app = QApplication(sys.argv)
    ui = MainWindow()
    ui.show()
    sys.exit(app.exec_())