【QTdesigner】课时35.QLineEdit控件综合案例【pyqt5+QTdesigner模式】

课程目录

  • 一点心得
  • 视频链接
  • 课程重点
  • 代码位置
  • 完整代码
  • 遇到的问题
  • 改写效果展示
  • 改写注意点
  • 改写代码(QTdesigner模式)

** >>> 点击进入:pyqt5专栏<<<**

老师原课件下载地址:
有积分的朋友,支持下我,打赏也OK。
不下载也可以,我每节课会吧代码贴出来


一点心得

写了几节课,发现每节课大量时间都没什么用,基本就是找找对应的功能在哪个位置,感觉这样的效率太低了。
我也不知道后面的难度高还是低。想尝试下多节课合并到一篇文章。
这节课由于是汇总知识点,我就不合并了,下节课开始尝试下加快速度学习吧!


视频链接

P34课时35.QLineEdit控件综合案例


课程重点

综合案例
【QTdesigner】课时35.QLineEdit控件综合案例【pyqt5+QTdesigner模式】_第1张图片


代码位置

【QTdesigner】课时35.QLineEdit控件综合案例【pyqt5+QTdesigner模式】_第2张图片


完整代码

'''

QLineEdit综合案例

'''

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt
import sys

class QLineEditDemo(QWidget):
    def __init__(self):
        super(QLineEditDemo,self).__init__()
        self.initUI()

    def initUI(self):
        edit1 = QLineEdit()
        # 使用int校验器
        edit1.setValidator(QIntValidator())
        edit1.setMaxLength(4)  # 不超过9999
        edit1.setAlignment(Qt.AlignRight)
        edit1.setFont(QFont('Arial',20))

        edit2 = QLineEdit()
        edit2.setValidator(QDoubleValidator(0.99,99.99,2))

        edit3 = QLineEdit()
        edit3.setInputMask('99_9999_999999;#')

        edit4 = QLineEdit()
        edit4.textChanged.connect(self.textChanged)

        edit5 = QLineEdit()
        edit5.setEchoMode(QLineEdit.Password)
        edit5.editingFinished.connect(self.enterPress)

        edit6 = QLineEdit('Hello PyQt5')
        edit6.setReadOnly(True)


        formLayout = QFormLayout()
        formLayout.addRow('整数校验',edit1)
        formLayout.addRow('浮点数校验',edit2)
        formLayout.addRow('Input Mask',edit3)
        formLayout.addRow('文本变化', edit4)
        formLayout.addRow('密码',edit5)
        formLayout.addRow('只读',edit6)
        self.setLayout(formLayout)
        self.setWindowTitle('QLineEdit综合案例')
    def textChanged(self,text):
        print('输入的内容:' + text)

    def enterPress(self):
        print('已输入值')
if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QLineEditDemo()
    main.show()
    sys.exit(app.exec_())

遇到的问题


改写效果展示

【QTdesigner】课时35.QLineEdit控件综合案例【pyqt5+QTdesigner模式】_第3张图片


改写注意点

edit1.setMaxLength(4)  # 不超过9999
edit1.setAlignment(Qt.AlignRight)

【QTdesigner】课时35.QLineEdit控件综合案例【pyqt5+QTdesigner模式】_第4张图片

edit1.setFont(QFont('Arial',20))

【QTdesigner】课时35.QLineEdit控件综合案例【pyqt5+QTdesigner模式】_第5张图片

edit5.setEchoMode(QLineEdit.Password)

【QTdesigner】课时35.QLineEdit控件综合案例【pyqt5+QTdesigner模式】_第6张图片

edit6 = QLineEdit('Hello PyQt5')
edit6.setReadOnly(True)

【QTdesigner】课时35.QLineEdit控件综合案例【pyqt5+QTdesigner模式】_第7张图片


改写代码(QTdesigner模式)

# -*- coding:utf-8 -*-
'''
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail: [email protected]
@File: class35.py
@CreateTime: 2020/5/10 23:26
'''


import sys
from PyQt5.QtWidgets import QApplication
from PyQt5 import uic
from PyQt5.QtGui import QDoubleValidator

class my_form():
    def __init__(self):
        super().__init__()
        self.ui = uic.loadUi("../ui_package/class35.ui")
        self.ui.lineEdit_2.setValidator(QDoubleValidator(0.99,99.99,2))
        self.ui.lineEdit_4.textChanged.connect(self.textChanged)
        self.ui.lineEdit_5.editingFinished.connect(self.enterPress)

    def textChanged(self,text):
        print('输入的内容:' + text)

    def enterPress(self):
        print('已输入值')

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

你可能感兴趣的:(pyqt5)