我有一个.txt格式的日志文件,正在持续更新。然后我想在ListView(PyQt5)中动态显示文件内容。
使用 QFileSystemWatcher
来检测你的文件何时被修改。
一个简单的例子。
class LogWatcher(QObject):
def __init__(self, parent=None):
super().__init__(parent)
self.watcher = QFileSystemWatcher()
self.watcher.addPath("./foobar.txt") # The file you want to check
self.watcher.fileChanged.connect(self.displayLine)
def displayLine(self, path): # Will be called when the file has changed
print(path, "has changed")
if __name__ == '__main__':
app = QtWidgets.QApplication([])
logger = LogWatcher()
sys.exit(app.exec_())
每当文件foobar.txt发生变化时,方法 displayLine
叫做