第一个文件中的代码:
from PyQt6.QtCore import Qt, pyqtSlot
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QLineEdit, QVBoxLayout, QWidget
from gui_file import YourCalculator
import time
class YourGUI(QMainWindow):
def __init__(self):
super().__init__()
self.setFixedSize(800, 600)
self.calculator = YourCalculator()
self.calculator.task_completed.connect(self.on_task_completed)
button = QPushButton("Start Tasks")
button.clicked.connect(self.start_tasks)
button.setFixedSize(200, 20)
self.line_editor = QLineEdit("hhh")
self.line_editor.setFixedSize(200, 20)
widget = QWidget(self)
widget.setFixedSize(400, 600)
layout = QVBoxLayout(widget)
layout.addWidget(button)
layout.addWidget(self.line_editor)
def start_tasks(self):
self.calculator.task1()
time.sleep(1)
self.calculator.task2()
time.sleep(1)
self.calculator.task3()
@pyqtSlot(str)
def on_task_completed(self, message):
print(message)
self.line_editor.setText(message)
if __name__ == "__main__":
app = QApplication([])
window = YourGUI()
window.show()
app.exec()
第二个文件中的代码:
from PyQt6.QtCore import QObject, pyqtSignal
class YourCalculator(QObject):
task_completed = pyqtSignal(str)
def task1(self):
self.task_completed.emit("Task 1 completed")
def task2(self):
self.task_completed.emit("Task 2 completed")
def task3(self):
self.task_completed.emit("Task 3 completed")
运行第一个文件后的界面:
点击按钮后的界面:
只有最后的信息会被显示,我想要它能够在 QLineEditor 中连续显示三个提示信,该怎么办呢?