【问题标题】:How do QThreads work when being run twice?QThreads 在运行两次时如何工作?
【发布时间】:2015-04-25 16:25:14
【问题描述】:

在另一个班级:

self.workerThread = WorkerThread()

def startThread():
    self.workerThread.setGameName("pizza")
    self.workerThread.start()

QThread 类:

class WorkerThread(QThread):
    def _init_(self, parent = None):
        super(WorkerThread, self)._init_(parent)
        self.gameName = ""

    def setGameName(self, currGameName):
        self.gameName = currGameName

    def run(self):
        #do something with self.gameName

主要:

startThread()
startThread()

当我运行它时,它使用第一次调用而不是第二次调用的游戏名称。函数调用似乎是交错的。有人可以解释 Qthread 是如何工作的吗?如何为 startThread() 的每个单独函数调用设置游戏名称?

【问题讨论】:

    标签: python python-2.7 pyqt pyside qthread


    【解决方案1】:

    如果start()QThread 上被调用两次,那么如果线程仍在运行,第二次调用将不会执行任何操作。看起来很有可能这就是正在发生的事情,如果不是,那只是因为运气。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-04
      相关资源
      最近更新 更多