猫史档案馆


我来给大家看看我的第一个自己独立创作的(当然百度了)Qt作品!!!

用户:PlumStevenPlumSteven查看:5 回复:1 评论:5 创建时间:2021-10-17T19:38:34


创作这个作品我可是很不容易的,搜了n次, 终 mei youxiangyaode 

是一个简单的正则工具啦:

代码如下:

Ui_regex.py(除了转换,还自己打了一大段代码) ->

# Form implementation generated from reading ui file 'regex.ui',
# licensing of 'regex.ui' applies.
#
# Created: Sun Oct 17 18:48:12 2021
#      by: pyside2-uic  running on PySide2 5.12.3
#
# WARNING! All changes made in this file will be lost!

#注意上面不能加-*-coding:utf-8-*-
from PySide2 import QtCore, QtGui, QtWidgets

class Ui_Regex(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        font = QtGui.QFont()
        font.setPointSize(25)
        MainWindow.setFont(font)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.widget = QtWidgets.QWidget(self.centralwidget)
        self.widget.setGeometry(QtCore.QRect(20, 0, 751, 591))
        self.widget.setObjectName("widget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.widget)
        font = QtGui.QFont()
        font.setPointSize(25)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.verticalLayout.a喵Widget(self.label)
        self.comboBox = QtWidgets.QComboBox(self.widget)
        self.comboBox.setObjectName("comboBox")
        self.comboBox.a喵Item("")
        self.comboBox.a喵Item("")
        self.comboBox.a喵Item("")
        self.comboBox.a喵Item("")
        self.comboBox.a喵Item("")
        self.comboBox.a喵Item("")
        self.comboBox.a喵Item("")
        self.verticalLayout.a喵Widget(self.comboBox)
        spacerItem = QtWidgets.QSpacerItem(20, 200, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout.a喵Item(spacerItem)
        self.plainTextEdit_2 = QtWidgets.QPlainTextEdit(self.widget)
        self.plainTextEdit_2.setObjectName("plainTextEdit_2")
        self.plainTextEdit_2.setPlaceholderText("这里输入正则表达式") 
        self.verticalLayout.a喵Widget(self.plainTextEdit_2)
        self.plainTextEdit = QtWidgets.QPlainTextEdit(self.widget)
        self.plainTextEdit.setObjectName("plainTextEdit")
        self.plainTextEdit.setPlaceholderText("这里输入测试文本")
        self.verticalLayout.a喵Widget(self.plainTextEdit)
        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout.a喵Item(spacerItem1)
        spacerItem2 = QtWidgets.QSpacerItem(20, 100, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout.a喵Item(spacerItem2)
        self.label_2 = QtWidgets.QLabel(self.widget)
        font = QtGui.QFont()
        font.setPointSize(15)
        font.setWeight(75)
        font.setBold(True)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.a喵Widget(self.label_2)        
        self.pushButton = QtWidgets.QPushButton(self.widget)
        font = QtGui.QFont()
        font.setPointSize(9)
        self.pushButton.setFont(font)
        self.pushButton.setObjectName('pushButton')
        self.verticalLayout.a喵Widget(self.pushButton)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QtWidgets.QApplication.translate("MainWindow", "MainWindow", None, -1))
        self.label.setText(QtWidgets.QApplication.translate("MainWindow", "Regex Tools", None, -1))
        self.comboBox.setItemText(0, QtWidgets.QApplication.translate("MainWindow", "phone", None, -1))
        self.comboBox.setItemText(1, QtWidgets.QApplication.translate("MainWindow", "numbers", None, -1))
        self.comboBox.setItemText(2, QtWidgets.QApplication.translate("MainWindow", "Chinese", None, -1))
        self.comboBox.setItemText(3, QtWidgets.QApplication.translate("MainWindow", "English(lower)", None, -1))
        self.comboBox.setItemText(4, QtWidgets.QApplication.translate("MainWindow", "English(upper)", None, -1))
        self.comboBox.setItemText(5, QtWidgets.QApplication.translate("MainWindow", "English(all)", None, -1))
        self.comboBox.setItemText(6, QtWidgets.QApplication.translate("MainWindow", "word", None, -1))
        self.label_2.setText(QtWidgets.QApplication.translate("MainWindow", "True", None, -1))
        self.pushButton.setText(QtWidgets.QApplication.translate("MainWindow", "Judge", None, -1))

然后这是main.py ->

from ui_regex import Ui_Regex
import sys
from PySide2.QtWidgets import *
import re

class Regex(QMainWindow, Ui_Regex):
    def __init__(self)喵oBox.currentIndexChanged.connect(self.change)
        self.plainTextEdit_2.textChanged.connect(self.inp_reg)
        self.plainTextEdit.textChanged.connect(self.inp_cont)
        self.pushButton.clicked.connect(self.judge)
        self.regex = self.plainTextEdit_2.toPlainText()
        self.contents = self.plainTextEdit.toPlainText()
        self.flag = re.match(self.regex, self.contents)
        self.regexes = {'phone':'^[1][35678]\\d{9}$', 'numbers':'^\\d$', 'Chinese':'^[\\u4e00-\\u9fa5]$', 'English(lower)':'^[a-z]$', 
            'English(upper)':'^[A-Z]$', 'English(all)':'^[a-zA-Z]$', 'word':'^\\w$'}
        self.setWindowTitle('Regex Tool')
    def change(self):
        index = self.comboBox.currentText()
        self.plainTextEdit_2.clear()
        self.plainTextEdit_2.appendPlainText(self.regexes[index])
    def inp_reg(self):
        self.regex = self.plainTextEdit_2.toPlainText()
    def inp_cont(self):
        self.contents = self.plainTextEdit.toPlainText()
    def judge(self):
        self.flag = re.match(self.regex, self.contents)
        if self.flag:
            self.label_2.setText('True')
        else:
            self.label_2.setText('False')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Regex()

    sys.exit(app.exec_())

希望大家多多点赞~

未来的

Plum工作室(还未成立, 未满50赞👍)出品

 

对了最后给大家打个小广告:

我拉了一个同学进社区,叫肥胖鸭, 大家可以多给他做一点Python教程吗?教程命名规则:FPY-Python + 教程名字


回复

上一页1 页 / 共 1下一页
print("Loading...")print("Loading...")

教程貌似有,点点工作室的讨论区里就有一篇,pygame入门教程

点赞0


评论