PyQt5 定时输出日志到指定组件
- untitled.py
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(1073, 706)
self.verticalLayout = QtWidgets.QVBoxLayout(Form)
self.verticalLayout.setObjectName("verticalLayout")
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setMinimumSize(QtCore.QSize(0, 50))
self.pushButton.setObjectName("pushButton")
self.verticalLayout.addWidget(self.pushButton)
spacerItem = QtWidgets.QSpacerItem(20, 310, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem)
self.textEdit = QtWidgets.QTextEdit(Form)
self.textEdit.setObjectName("textEdit")
self.verticalLayout.addWidget(self.textEdit)
self.retranslateUi(Form)
self.pushButton.clicked.connect(Form.start) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton.setText(_translate("Form", "开始"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
- main.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time:2023/7/20 9:25
# @Software:PyCharm
__author__ = "JentZhang"
import sys
import datetime
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtCore import QTimer
from untitled import Ui_Form
class Main(QWidget, Ui_Form):
def __init__(self):
super().__init__()
self.setupUi(self)
self.timer = QTimer(self)
self.timer.setInterval(1000)
self.timer.timeout.connect(self.add_text)
self.show()
def start(self):
self.timer.start()
def add_text(self):
self.textEdit.append(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Main()
sys.exit(app.exec_())
- 效果
每隔一秒将当前时间添加到textEdit组件中
好记性不如烂笔头!