QProgressDialog不能正常显示

时间:2019-12-04 15:19:58

标签: python python-3.x pyside2 qprogressbar

PySide2库中的QProgressDialog类存在一些问题:进度条在前两个步骤中不能很好地显示。

我的代码如下:

main.py

def main():
   app = QApplication(sys.argv)
   window = MainWindow()

   window.show()            
   app.exec_()

if __name__ == "__main__":
   main()

Graphic.py

class ProgressBar:
   def __init__(self, SIZE):
       self.progress = QProgressDialog('Work in progress...', 'Cancel', 0, SIZE)
       self.progress.setAutoReset(True)
       self.progress.setAutoClose(True)
       self.progress.setMinimum(0)
       self.progress.setMaximum(size)
       self.progress.setFixedSize(250,100)
       self.progress.setWindowTitle("MyTitle")
       self.progress.setWindowModality(Qt.WindowModal)
       self.progress.show()
       self.progress.setValue(0)

class MainWindow(QMainWindow):
   def __init__(self):
       QMainWindow.__init__(self)

   def createProgressBar(self, SIZE):
       self.progressBar = ProgressBar(SIZE)

   def createClassA(self)
       ClassA = ClassA(self)
       ClassA.beautifulfunction(10)

ClassA.py

class ClassA:
   def __init__(self, parent):
      self.parent = parent

   def beautifulfunction(self, SIZE):
      self.parent.createProgressBar(SIZE)
      for index in range(0, SIZE):
         SOME CODE..
         self.parent.progressBar.progress.setValue(index + 1)

我的下一个尝试将是使用线程,但在我想确保没有它之前,我无法确定自己的代码。

您能帮忙吗?您能告诉我为什么进度条的前两个步骤不显示吗?

0 个答案:

没有答案