Exemplo n.º 1
0
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')
Exemplo n.º 2
0
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)