-
Notifications
You must be signed in to change notification settings - Fork 230
Open
Description
简单的复现代码:
`from win32com.client import Dispatch
op = Dispatch("op.opsoft")
import sys
from PySide6.QtCore import QThread
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton
class WorkerThread(QThread):
def __init__(self):
super().__init__()
self.op = op
def run(self):
for i in range(100):
cmp_color = self.op.CmpColor(0, 0, "ffffff", 1)
self.op.Delay(1000)
print(cmp_color)
self.finished.emit()
class MainWindow(QWidget):
def init(self):
super().init()
self.initUI()
def initUI(self):
layout = QVBoxLayout()
self.startButton = QPushButton('Start Thread', self)
self.stopButton = QPushButton('Kill Thread', self)
self.startButton.clicked.connect(self.startThread)
self.stopButton.clicked.connect(self.killThread)
layout.addWidget(self.startButton)
layout.addWidget(self.stopButton)
self.setLayout(layout)
def startThread(self):
print("Starting thread...")
self.thread = WorkerThread()
self.thread.start()
def killThread(self):
print("Killed thread...")
self.thread.terminate()
if name == 'main':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
`
这段代码在启动后,第一次启停线程时正常运行,第二次启动时,每次试图调用cmpcolor都会弹窗
目前测试结果,findcolor,cmpcolor,getcolor均会报错,而其他类别的函数如keypress等不会报错
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
