Мне удалось создать программу сканирования gui с использованием Beautiful Soup и PyQt5.
Между прочим, у меня была проблема с gui зависанием, когда программа выполняла повторяющийся оператор. Поэтому я собираюсь использовать QThread.
Но когда я добавляю элементы, относящиеся к gui, в Thread, возникает проблема. (Нет проблем с операционным кодом, который не имеет ничего общего с gui, поэтому я не думаю, что есть какая-либо передача данных между классами.) (Это правильно?)
Я создал простую проблему . ↓
Экран выполнения программы
import sys
import time
from PyQt5 import uic
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
form_class = uic.loadUiType('aaaa.ui')[0]
class Thread1(QThread):
def __init__(self, Main):
super().__init__(Main)
def run(self):
i = 1
while i <= 10:
print(self.lineEdit.text().strip()) #No data transmission between Main and Thread1??
time.sleep(1)
i += 1
class Main(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.initSetting()
self.initSignal()
def initSetting(self):
self.statusBar().showMessage('Wait')
self.setWindowTitle('aaaa')
def initSignal(self):
self.pushButton.clicked.connect(self.printWord)
def printWord(self):
self.statusBar().showMessage('Threading')
x = Thread1(self)
x.start()
if __name__ == "__main__" :
app = QApplication(sys.argv)
aaaa = Main()
aaaa.show()
app.exec_()