Python3正则表达式检测工具(PyQt5图形界面) 付源码

学习PyQt5的图形界面,顺便做了一个Python3正则表达式检测工具(PyQt5图形界面)
代码有些地方有点冗余,但是为了方便以后查看,还是这么写了。
运行结果如图所示

#按钮用
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton,QLabel
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot

#文本框用
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QAction, QMessageBox,QTextEdit
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot,QCoreApplication
from PyQt5.Qt import QLineEdit



class App(QWidget):       #定义类,固定格式
    def __init__(self):
        super().__init__()     #子类构造函数调用super().__init__()
        self.title = "Python3正则表达式测试工具"  #窗口的标题为。。。
        self.left = 500       #打开的位置位于左500
        self.top = 200       #打开的位置为了上200
        self.width = 520     #窗体宽度
        self.height = 400   #窗体高度
        self.initUI()       #调用initUI函数
    
    def initUI(self):
        

        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        
        #这里开始是一个按钮的设置
        在窗体内创建按钮
        self.button1 = QPushButton("测 试", self)
        #方法setToolTip在用户将鼠标停留在按钮上时显示的消息
        self.button1.setToolTip("点击打印")
        #按钮坐标x, y 
        self.button1.move(400, 230)
        #按钮与鼠标点击事件相关联
        self.button1.clicked.connect(self.on_click)


        #建立一个文本框(单行)
        self.textbox = QLineEdit(self) #QLineEdit是单行文本框。QTextEdit是多行文本框。
        self.textbox.move(30, 230)
        self.textbox.resize(320, 25) #宽,高
        self.textbox.text()   #返回文本框的内容

        #建立一个按钮2
        self.button2 = QPushButton('退出', self)
        self.button2.move(400, 5)
        
        #设置按钮2的鼠标点击事件想关联
        self.button2.clicked.connect(self.on_click2)

        
        #建立一个多行的输入文本框-textEdit
        self.textEdit=QTextEdit(self)
        self.textEdit.move(30, 40)
        self.textEdit.resize(460, 140) #宽,高
        self.textEdit.toPlainText()  #返回多行文本框的文本内容

        
        #建立一个多行的输出文本框-textEdit_out
        self.textEdit_out=QTextEdit(self)
        self.textEdit_out.move(30, 290)
        self.textEdit_out.resize(460, 70) #宽,高
       
        #创建3个标签
        self.label1 = QLabel(self)
        self.label2 = QLabel(self)
        self.label3 = QLabel(self)
        #setText():设置Qlabel的文本内容
        self.label1.setText('请输入正则表达式')
        self.label1.move(30, 210)
        
        self.label2.setText('请输入需要匹配的原文本内容')
        self.label2.move(30, 20)
        
        self.label3.setText('正则表达式匹配结果')
        self.label3.move(30, 270)
       
        self.show()
        
    def test1():
        abc = 'abcdef'
        return abc
        

    #创建鼠标点击事件
    @pyqtSlot()
    
    def on_click(self):
        #正则表达式用
        import re
        text_all = self.textEdit.toPlainText()  #多行文本框的内容
        re1 = self.textbox.text()  #单行文本框的内容,即正则表达式
        a = re.compile(re1, re.I) #不区分大小写。取得的值为list形式
        b = a.findall(text_all)
        c = '\n'.join(b)
        #以文本的形式输出到多行文本框-textEdit_out
        self.textEdit_out.setPlainText(c)   #设置多行文本框的内容-setPlainText()
        
        
    #退出按钮
    def on_click2(self):
        self.button2.clicked.connect(QCoreApplication.instance().quit)




if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())
### 网络单线复用 VLAN 配置方法 为了实现网络中的单线复用并确保 IPTV 服务稳定运行,可以通过合理配置 VLAN 来区分不同的业务流量。具体来说: 对于路由器或交换机设备而言,需创建多个虚拟局域网(VLAN),以便于隔离不同类型的通信数据流。针对 IPTV 流量,通常会分配一个独立的 VLAN ID 给其使用[^1]。 #### 创建 VLAN 接口 在路由器上执行如下命令以建立指定编号的 VLAN 接口: ```shell interface Vlan-interface <ID> ip address <IP地址> <子网掩码> ``` #### 设置端口模式 将连接至光猫或其他接入层设备的物理接口设为 Trunk 类型,并允许所有必要的 VLAN 数据帧通过此链路传输。 ```shell interface GigabitEthernet0/0/1 port link-type trunk port trunk permit vlan all ``` #### 添加默认路由 如果存在多条路径通往外部互联网,则应设定一条缺省静态路由指向 ISP 提供的下一跳 IP 地址。 ```shell ip route-static 0.0.0.0 0.0.0.0 <下一跳IP> ``` 以上操作能够有效支持基于单一物理线路承载多种业务需求的情况,同时也便于后续管理和维护工作开展。 --- ### 解决 IPTV 卡顿问题的方法 当遇到 IPTV 视频播放过程中频繁出现缓冲现象时,可能是因为 IGMP Snooping 功能影响到了组播包的有效传递效率所致。对此情况可采取以下措施加以改善: 登录到管理界面关闭二层交换设备上的 IGMP Snooping 开关选项,从而减少不必要的过滤行为对实际观看体验造成的干扰[^2]。 另外还需注意检查是否存在其他潜在因素如带宽不足、硬件故障等问题同样可能导致此类症状发生,在排除上述可能性后再考虑调整软件层面的相关参数设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值