PyQt笔记

这篇博客展示了两个PyQt5的应用实例。第一个是创建一个简单的窗口应用,包含一个退出按钮,点击后程序会退出。第二个例子演示了QLineEdit的多种验证方式,包括整数、浮点数和掩码验证,并监听文本变化和编辑完成事件。
摘要由CSDN通过智能技术生成
import sys
from PyQt5.QtWidgets import QHBoxLayout, QDesktopWidget, QMainWindow, QApplication, QPushButton,QWidget
from PyQt5.QtGui import  QIcon

class QuitApplication(QMainWindow): # 这里继承QMainWindow类,用该类中的方法
    def __init__(self):
        super(QuitApplication,self).__init__()
        self.resize(300,120)
        self.setWindowTitle('退出应用程序许')
        # 添加button
        self.button1 = QPushButton('退出应用程序')
        # 将信号与槽关联
        self.button1.clicked.connect(self.onClick_Button)

        layout = QHBoxLayout()
        layout.addWidget(self.button1)

        mainFrame = QWidget()
        mainFrame.setLayout(layout)


        self.setCentralWidget(mainFrame)

    # 按钮单机事件的方法(自定义的槽)
    def onClick_Button(self):
        sender = self.sender()  # 获取发送消息的按钮
        print(sender.text()+'按钮被按下')
        app = QApplication.instance()
        app.quit()



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



综合案例

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

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

    def initUI(self):
        edit1 = QLineEdit() # 创建编辑控件1
        # 使用int校验器
        edit1.setValidator(QIntValidator())
        edit1.setMaxLength(4)
        edit1.setAlignment(Qt.AlignRight)
        edit1.setFont(QFont('Arial', 20))

        # 使用浮点型的校验器

        edit2 = QLineEdit() # 创建控件edit2
        edit2.setValidator(QDoubleValidator(0.99,99.99,2))

        # 使用掩码校验器
        edit3 = QLineEdit()
        edit3.setInputMask('99_999_99999;#')


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

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

        edit6 = QLineEdit()
        edit6.setReadOnly(True)


        # 创建表单布局
        formLayout = QFormLayout()
        formLayout.addRow('整数校验', edit1) # 将edite1控件放到表单布局中
        formLayout.addRow('浮点型校验',edit2) # 将edite1控件放到表单布局中
        formLayout.addRow('Input Mask',edit3)
        formLayout.addRow('w文本变化',edit4)
        formLayout.addRow('密码',edit5)
        formLayout.addRow('只读',edit6)

        self.setLayout(formLayout)
        self.setWindowTitle('QLineEdite综合案例')

    def textChange(self,test):
            print('输入的内容'+test)

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



if __name__ == '__main__':
    app = QApplication(sys.argv)
    main1 = QLineEditeDemo()
    main1.show()
    sys.exit(app.exec_())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值