class TfrmVuttr(TfrmBase): def __init__(self): super(TfrmVuttr, self).__init__() self.setWindowIcon(self.getIcon("./resources/vuttr.ico", QSize(32, 32))) self._createFormWidgets() self.translateForm() self.activeState = self.ssSearch def _createFormWidgets(self): self.formLayoutWidget = QWidget(self.pgDetail) self.formLayoutWidget.setGeometry(QRect(-1, -1, 641, 370)) self.formLayoutWidget.setMinimumSize(QSize(641, 370)) self.formLayoutWidget.setObjectName("formLayoutWidget") self.frmLayout = QFormLayout(self.formLayoutWidget) self.frmLayout.setSizeConstraint(QLayout.SetMaximumSize) self.frmLayout.setFieldGrowthPolicy(QFormLayout.ExpandingFieldsGrow) self.frmLayout.setLabelAlignment(Qt.AlignRight | Qt.AlignTop | Qt.AlignTrailing) self.frmLayout.setFormAlignment(Qt.AlignLeading | Qt.AlignLeft | Qt.AlignTop) self.frmLayout.setContentsMargins(5, 5, 5, 5) self.frmLayout.setSpacing(6) self.frmLayout.setObjectName("frmLayout") self.lbToolTitle = QLabel(self.formLayoutWidget) self.lbToolTitle.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.lbToolTitle.setObjectName("lbToolTitle") self.frmLayout.setWidget(0, QFormLayout.LabelRole, self.lbToolTitle) self.lbLink = QLabel(self.formLayoutWidget) self.lbLink.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.lbLink.setObjectName("lbLink") self.frmLayout.setWidget(1, QFormLayout.LabelRole, self.lbLink) self.eUrlTool = QLineEdit(self.formLayoutWidget) self.eUrlTool.setObjectName("eUrlTool") self.frmLayout.setWidget(1, QFormLayout.FieldRole, self.eUrlTool) self.lbDescription = QLabel(self.formLayoutWidget) self.lbDescription.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.lbDescription.setObjectName("lbDescription") self.frmLayout.setWidget(2, QFormLayout.LabelRole, self.lbDescription) self.eDscTool = QTextEdit(self.formLayoutWidget) self.eDscTool.setMinimumSize(QSize(0, 100)) self.eDscTool.setMaximumSize(QSize(16777215, 100)) self.eDscTool.setBaseSize(QSize(0, 100)) self.eDscTool.setObjectName("eDscTool") self.frmLayout.setWidget(2, QFormLayout.FieldRole, self.eDscTool) self.lbTags = QLabel(self.formLayoutWidget) self.lbTags.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.lbTags.setObjectName("lbTags") self.frmLayout.setWidget(3, QFormLayout.LabelRole, self.lbTags) self.eToolTags = QListWidget(self.formLayoutWidget) self.eToolTags.setMinimumSize(QSize(0, 100)) self.eToolTags.setMaximumSize(QSize(16777215, 100)) self.eToolTags.setBaseSize(QSize(0, 100)) self.eToolTags.setObjectName("eToolTags") self.frmLayout.setWidget(3, QFormLayout.FieldRole, self.eToolTags) self.lbInsertDate = QLabel(self.formLayoutWidget) self.lbInsertDate.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.lbInsertDate.setObjectName("lbInsertDate") self.frmLayout.setWidget(4, QFormLayout.LabelRole, self.lbInsertDate) self.eInsertDate = QDateTimeEdit(self.formLayoutWidget) self.eInsertDate.setObjectName("eInsertDate") self.frmLayout.setWidget(4, QFormLayout.FieldRole, self.eInsertDate) self.eToolTitle = QLineEdit(self.formLayoutWidget) self.eToolTitle.setObjectName("eToolTitle") self.frmLayout.setWidget(0, QFormLayout.FieldRole, self.eToolTitle) self.eUpdateDate = QDateTimeEdit(self.formLayoutWidget) self.eUpdateDate.setObjectName("eUpdateDate") self.frmLayout.setWidget(5, QFormLayout.FieldRole, self.eUpdateDate) self.lbUpdateDate = QLabel(self.formLayoutWidget) self.lbUpdateDate.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.lbUpdateDate.setObjectName("lbUpdateDate") self.frmLayout.setWidget(5, QFormLayout.LabelRole, self.lbUpdateDate) def translateForm(self): super(TfrmVuttr, self).translateForm() self.setWindowTitle(self._translate("TfrmVuttr", "VUTTR Application")) self.dcTitle.setText( self._translate("TfrmVuttr", "Ferramentas para Lembrar")) self.lbToolTitle.setText( self._translate("TfrmVuttr", "Título da Ferramenta: ")) self.lbLink.setText(self._translate("TfrmVuttr", "Url da Ferramenta: ")) self.lbDescription.setText(self._translate("TfrmVuttr", "Descrição: ")) self.lbTags.setText(self._translate("TfrmVuttr", "Tags: ")) self.lbInsertDate.setText( self._translate("TfrmVuttr", "Data de Inserção: ")) self.lbUpdateDate.setText( self._translate("TfrmVuttr", "Data da Última Edição: ")) def filterRecord(self): QMessageBox.information(self, self.windowTitle(), 'filtrando Registros') def getFirstRecord(self): QMessageBox.information(self, self.windowTitle(), 'Primeiro Registro') def getPriorRecord(self): QMessageBox.information(self, self.windowTitle(), 'Registro Anterior') def getNextRecord(self): QMessageBox.information(self, self.windowTitle(), 'Próximo Registro') def getLastRecord(self): QMessageBox.information(self, self.windowTitle(), 'Último Registro') def insertRecord(self): QMessageBox.information(self, self.windowTitle(), 'Inserir Registro') def deleteRecord(self): QMessageBox.information(self, self.windowTitle(), 'Excluindo Registro') def updateRecord(self): QMessageBox.information(self, self.windowTitle(), 'Editando Registro') def postRecord(self): QMessageBox.information(self, self.windowTitle(), 'Gravando Registro')
class ShowInfoWidget(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(1050, 650) self.gridLayoutWidget = QtWidgets.QWidget(Form) self.gridLayoutWidget.setGeometry(QtCore.QRect(29, 9, 1000, 600)) self.gridLayoutWidget.setObjectName("gridLayoutWidget") #网格布局 self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setHorizontalSpacing(20) self.gridLayout.setObjectName("gridLayout") # 日期选择框 self.dateEdit = QDateTimeEdit(QDateTime.currentDateTime(), self.gridLayoutWidget) self.dateEdit.setObjectName("dateEdit") self.dateEdit.setDisplayFormat("yyyy-MM-dd") self.dateEdit.setMinimumDate(QDate.currentDate().addDays(-365)) self.dateEdit.setMaximumDate(QDate.currentDate().addDays(365 * 3)) self.dateEdit.setCalendarPopup(True) self.gridLayout.addWidget(self.dateEdit, 1, 0, 1, 1) #下拉列表 self.comboBox = QtWidgets.QComboBox(self.gridLayoutWidget) self.comboBox.setObjectName("comboBox") num = self.getLogsItems() self.comboBox.setMaxVisibleItems(num) self.gridLayout.addWidget(self.comboBox, 2, 0, 1, 1) #日志显示框 self.textEdit = QtWidgets.QTextEdit(self.gridLayoutWidget) self.textEdit.setObjectName("textEdit") self.gridLayout.addWidget(self.textEdit, 3, 0, 1, 1) self.textEdit.setReadOnly(True) #按钮 self.pushButton = QtWidgets.QPushButton(self.gridLayoutWidget) self.pushButton.setObjectName("pushButton") self.gridLayout.addWidget(self.pushButton, 2, 1, 1, 1) self.bindButton() self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "系统日志查询")) self.pushButton.setText(_translate("Form", "显示日志")) def bindButton(self): self.pushButton.clicked.connect(lambda: self.showFileButtonClicked()) self.dateEdit.dateTimeChanged.connect(lambda: self.getLogsItems()) #显示日志按钮点击事件 def showFileButtonClicked(self): self.textEdit.clear() path = os.path.abspath(os.getcwd()) filename = self.comboBox.currentText() if not filename: self.textEdit.append("这一天没有产生日志") return filepath = path + "/logs/" + filename try: with open(filepath, "r", encoding='utf-8') as f: count = 1 data = f.readline() while data: if data: datalist = data.split("-", 4) self.textEdit.append("第" + str(count) + "条日志:" + datalist[1] + "/" + datalist[2] + datalist[4]) count = count + 1 data = f.readline() else: self.textEdit.append(filename + "文件为空") except FileNotFoundError: self.textEdit.append("找不到" + filename + "文件") #获取要显示在下拉框中的日志文件名 def getLogsItems(self): path = str(os.path.abspath(os.getcwd())) + "/logs" data = self.getChoisedTimeInfoFileData() for root, dirs, files in os.walk(path): self.comboBox.clear() for i in files: fileNameList = i.split("-") filename = fileNameList[0] + "-" + fileNameList[ 1] + "-" + fileNameList[2] if filename == data: self.comboBox.addItem(i) return len(files) #获取当前选择的日期的文件日期 def getChoisedTimeInfoFileData(self): date = self.dateEdit.text() return str(date)