主程序
import osfrom PyQt5 import QtWidgets, QtCore
from PyQt5.QtWidgets import QWidget, QApplication, QFileDialog, QDialog
import read_dataui001
import read_dataui001_1 as ui_1
import sysclass MyClass(QWidget,read_dataui001.Ui_Form):def __init__(self):super().__init__()self.src_dir_path = 'H:\树莓派工作'self.filelist = os.listdir(self.src_dir_path)self.InitUi()def InitUi(self):self.setupUi(self)self.setWindowTitle("小刘")self.child1 = QDialog(self)self.child1_Ui = ui_1.Ui_Form()self.child1_Ui.setupUi(self.child1)self._translate = QtCore.QCoreApplication.translateself.pushButton.clicked.connect(self.Read_data)self.pushButton_2.clicked.connect(self.Delete_data)self.lineEdit.textChanged.connect(self.Search_File)self.listWidget.doubleClicked.connect(self.MyItem)self.show()def MyItem(self): #鼠标双击相应事件a = self.listWidget.currentItem()self.file = a.text()self.file = 'H:\树莓派工作\\' + self.filedef Delete_data(self):if os.path.exists(self.file): # 如果文件存在# 删除文件,可使用以下两种方法。os.remove(self.file)# os.unlink(path)else:print('no such file:%s' % self.file) # 则返回文件不存在def Read_data(self):if os.path.exists(self.file):with open(self.file, encoding='utf-8') as file_obj:contents = file_obj.read()data = contents.rstrip()print(data)self.child1_Ui.label.setText(data)else :self.child1_Ui.label.setText("no such file")self.child1.show()def List_Data(self,i,data): #将匹配成功的文件显示在界面上item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)item = self.listWidget.item(i)item.setText(self._translate("Form",data))def Search_File(self,path): #搜索与输入框关键词匹配的文件i = 0text_data = self.lineEdit.text()for file in self.filelist:sub_path = os.path.join(self.src_dir_path, file) # 获取文件的绝对路径if (os.path.isdir(sub_path)): # 判断是否为文件夹,如果是文件夹则忽略continue# temppath = os.listdir(sub_path)# self.Search_File(path) # 递归调用函数,目的是遍历所有文件else:if path in file:self.List_Data(i,file)i = i+1if __name__ == '__main__':app = QApplication(sys.argv)mc = MyClass()sys.exit(app.exec_())
调用程序
1)read_dataui001_1
from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(953, 768)self.label = QtWidgets.QTextEdit(Form)self.label.setGeometry(QtCore.QRect(0, 0, 951, 771))self.label.setObjectName("textEdit")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))
2)read_dataui001
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'read_dataui001.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(1130, 580)Form.setMaximumSize(QtCore.QSize(1130, 580))Form.setStyleSheet("border-color: rgb(0, 85, 255);")self.label = QtWidgets.QLabel(Form)self.label.setGeometry(QtCore.QRect(40, 40, 300, 50))self.label.setMaximumSize(QtCore.QSize(300, 50))font = QtGui.QFont()font.setPointSize(16)self.label.setFont(font)self.label.setStyleSheet("background-color: rgb(0, 85, 255);\n"
"border-color: rgb(255, 85, 0);")self.label.setFrameShape(QtWidgets.QFrame.Box)self.label.setFrameShadow(QtWidgets.QFrame.Sunken)self.label.setTextFormat(QtCore.Qt.RichText)self.label.setAlignment(QtCore.Qt.AlignCenter)self.label.setObjectName("label")self.label_2 = QtWidgets.QLabel(Form)self.label_2.setGeometry(QtCore.QRect(40, 120, 100, 30))self.label_2.setMaximumSize(QtCore.QSize(100, 30))font = QtGui.QFont()font.setPointSize(13)self.label_2.setFont(font)self.label_2.setStyleSheet("border-color: rgb(255, 0, 0);\n"
"border-left-color: rgb(255, 0, 0);")self.label_2.setFrameShape(QtWidgets.QFrame.Box)self.label_2.setFrameShadow(QtWidgets.QFrame.Sunken)self.label_2.setLineWidth(2)self.label_2.setAlignment(QtCore.Qt.AlignCenter)self.label_2.setObjectName("label_2")self.lineEdit = QtWidgets.QLineEdit(Form)self.lineEdit.setGeometry(QtCore.QRect(40, 160, 141, 41))self.lineEdit.setObjectName("lineEdit")self.pushButton = QtWidgets.QPushButton(Form)self.pushButton.setGeometry(QtCore.QRect(40, 210, 141, 41))self.pushButton.setObjectName("pushButton")self.pushButton_2 = QtWidgets.QPushButton(Form)self.pushButton_2.setGeometry(QtCore.QRect(40, 270, 141, 41))self.pushButton_2.setObjectName("pushButton_2")self.frame = QtWidgets.QFrame(Form)self.frame.setGeometry(QtCore.QRect(190, 90, 911, 461))self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)self.frame.setFrameShadow(QtWidgets.QFrame.Raised)self.frame.setObjectName("frame")self.listWidget = QtWidgets.QListWidget(self.frame)self.listWidget.setGeometry(QtCore.QRect(0, 90, 911, 371))self.listWidget.setObjectName("listWidget")item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)self.label_3 = QtWidgets.QLabel(self.frame)self.label_3.setGeometry(QtCore.QRect(30, 10, 81, 21))self.label_3.setObjectName("label_3")self.label_4 = QtWidgets.QLabel(self.frame)self.label_4.setGeometry(QtCore.QRect(10, 40, 141, 31))self.label_4.setFrameShape(QtWidgets.QFrame.Box)self.label_4.setObjectName("label_4")self.label_5 = QtWidgets.QLabel(self.frame)self.label_5.setGeometry(QtCore.QRect(200, 10, 81, 21))self.label_5.setObjectName("label_5")self.label_6 = QtWidgets.QLabel(self.frame)self.label_6.setGeometry(QtCore.QRect(330, 10, 81, 21))self.label_6.setObjectName("label_6")self.label_7 = QtWidgets.QLabel(self.frame)self.label_7.setGeometry(QtCore.QRect(450, 10, 81, 21))self.label_7.setObjectName("label_7")self.label_8 = QtWidgets.QLabel(self.frame)self.label_8.setGeometry(QtCore.QRect(580, 10, 81, 21))self.label_8.setObjectName("label_8")self.label_9 = QtWidgets.QLabel(self.frame)self.label_9.setGeometry(QtCore.QRect(740, 10, 81, 21))self.label_9.setObjectName("label_9")self.label_10 = QtWidgets.QLabel(self.frame)self.label_10.setGeometry(QtCore.QRect(190, 40, 111, 31))self.label_10.setFrameShape(QtWidgets.QFrame.Box)self.label_10.setObjectName("label_10")self.label_11 = QtWidgets.QLabel(self.frame)self.label_11.setGeometry(QtCore.QRect(320, 40, 81, 31))self.label_11.setFrameShape(QtWidgets.QFrame.Box)self.label_11.setObjectName("label_11")self.label_12 = QtWidgets.QLabel(self.frame)self.label_12.setGeometry(QtCore.QRect(440, 40, 91, 31))self.label_12.setFrameShape(QtWidgets.QFrame.Box)self.label_12.setObjectName("label_12")self.label_13 = QtWidgets.QLabel(self.frame)self.label_13.setGeometry(QtCore.QRect(570, 40, 91, 31))self.label_13.setFrameShape(QtWidgets.QFrame.Box)self.label_13.setObjectName("label_13")self.label_14 = QtWidgets.QLabel(self.frame)self.label_14.setGeometry(QtCore.QRect(710, 40, 141, 31))self.label_14.setFrameShape(QtWidgets.QFrame.Box)self.label_14.setObjectName("label_14")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.label.setText(_translate("Form", "历史测量数据"))self.label_2.setText(_translate("Form", "关键词搜索"))self.pushButton.setText(_translate("Form", "读取历史数据文件"))self.pushButton_2.setText(_translate("Form", "删除历史数据文件"))__sortingEnabled = self.listWidget.isSortingEnabled()self.listWidget.setSortingEnabled(False)item = self.listWidget.item(0)item.setText(_translate("Form", "New Item"))self.listWidget.setSortingEnabled(__sortingEnabled)self.label_3.setText(_translate("Form", "历史项目名称"))self.label_4.setText(_translate("Form", "历史项目名称..."))self.label_5.setText(_translate("Form", "历史测量线路"))self.label_6.setText(_translate("Form", "历史检查人"))self.label_7.setText(_translate("Form", "历史起始里程"))self.label_8.setText(_translate("Form", "历史里程方向"))self.label_9.setText(_translate("Form", "历史测量日期"))self.label_10.setText(_translate("Form", "历史项目名称..."))self.label_11.setText(_translate("Form", "历史项目名称..."))self.label_12.setText(_translate("Form", "历史项目名称..."))self.label_13.setText(_translate("Form", "历史项目名称..."))self.label_14.setText(_translate("Form", "历史项目名称..."))