前言

本节我们将介绍lineEdit的使用方法,同时将输入框输入的数据同步显示再label和LCD屏幕上面。

一、基础知识

1. lineEdit简介

lineEdit是文本框,可以输入和显示文本信息,同时可以设置显示格式和文本框属性,其主要函数说明如下

PyQt5快速上手基础篇4-将lineEdit输入框数据同步显示再label和LCD屏上面_第1张图片

常用信号如下

PyQt5快速上手基础篇4-将lineEdit输入框数据同步显示再label和LCD屏上面_第2张图片

二、实例

1. QT Designer设计UI

打开designer.exe,使用默认的Main Window创建,直接点击Create按钮即可

PyQt5快速上手基础篇4-将lineEdit输入框数据同步显示再label和LCD屏上面_第3张图片

设计UI图如下,并保存为edit.ui

PyQt5快速上手基础篇4-将lineEdit输入框数据同步显示再label和LCD屏上面_第4张图片

2 将edit.ui转换为ui_edit.py

进入ui_edit.py目录,输入pyuic5 -o ui_edit.py edit.ui

3 编写python程序

# encoding=utf-8
import sys
import PyQt5.QtWidgets as qw
import ui_edit
class myForm(qw.QWidget, ui_edit.Ui_Form):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        # self.lcdNumber.setDecMode()  #设置显示模式
        self.lcdNumber.setSegmentStyle(self.lcdNumber.Flat)
        self.lcdNumber.setDigitCount(10)
        self.lineEdit.textChanged.connect(self.text_changed_cb)
    def text_changed_cb(self):
        value = self.lineEdit.text()
        self.lcdNumber.display(value)
        self.label.setText(value)
if __name__ == '__main__':
    app = qw.QApplication(sys.argv)
    w = myForm()
    w.show()
    sys.exit(app.exec_())

首先设置LCD屏显示大小为10,最多显示10位,然后使用信号和槽将输入框lineEdit中的变化事件和text_changed_cb()函数绑定,就是说只要输入框有变化,就会调用text_changed_cb()函数。text_changed_cb()函数中获取lineEdit输入的字符串,然后分别显示再LCD屏幕和Label上面。

三、运行

进入文件目录,输入python3 run.py,即可弹出上述用QT Designer设计出来的页面。

PyQt5快速上手基础篇4-将lineEdit输入框数据同步显示再label和LCD屏上面_第5张图片

在输入框中输入数据,会分别显示再Label和LCD上面。

PyQt5快速上手基础篇4-将lineEdit输入框数据同步显示再label和LCD屏上面_第6张图片

从上图可知窗口标题和图标已经设置成功。

四、结语

如您在使用过程中有任何问题,请加QQ群进一步交流,也可以github提Issue。

QQ交流群:906015840 (备注:物联网项目交流)

获取源码:关注公众号,回复pyqt5即可

一叶孤沙出品:一沙一世界,一叶一菩提

PyQt5快速上手基础篇4-将lineEdit输入框数据同步显示再label和LCD屏上面_第7张图片