вот пример import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QTextEdit class ParserDemo(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): layout = QVBoxLayout() self.text_edit = QTextEdit(self) layout.addWidget(self.text_edit) self.parse_button = QPushButton('Parse', self) self.parse_button.clicked.connect(self.on_parse_clicked) layout.addWidget(self.parse_button) self.setLayout(layout) def on_parse_clicked(self): # Это просто имитация парсера, который возвращает строку. # Замените это на вызов вашего настоящего парсера. result = self.fake_parser() self.text_edit.setText(result) def fake_parser(self): return "Результат парсинга" if __name__ == '__main__': app = QApplication(sys.argv) ex = ParserDemo() ex.show() sys.exit(app.exec_())
С КНОПКОЙ СДЕЛАЛ, тут понятно, событие - клик кнопки, а если без кнопки? у меня так: бесконечный цикл см паузой 30 сек, и каждые 30 сек вывод в print, как этот print в gui загонять?
import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTextEdit from PyQt5.QtCore import QThread, pyqtSignal, QTimer class ParserThread(QThread): # Определение сигнала, который будет отправлять результат парсинга parsed_data = pyqtSignal(str) def run(self): while True: # Эмуляция долгой работы парсера (5 секунд) self.sleep(5) result = self.fake_parser() self.parsed_data.emit(result) def fake_parser(self): return "Результат парсинга\n" class ParserDemo(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): layout = QVBoxLayout() self.text_edit = QTextEdit(self) layout.addWidget(self.text_edit) self.setLayout(layout) # Инициализация и запуск потока парсера self.parser_thread = ParserThread() self.parser_thread.parsed_data.connect(self.update_text) self.parser_thread.start() def update_text(self, data): self.text_edit.append(data) if __name__ == '__main__': app = QApplication(sys.argv) ex = ParserDemo() ex.show() sys.exit(app.exec_())
блин, спасибо огромное дружище, буду разбираться, уже несколько дней мучаюсь!!!
Обсуждают сегодня