pyqt5实现在别的窗口弹出进度条

  

要求:在导入视频的同时,利用咖啡训练好的模型提取视频的特征,这个过程比较费时间,因此需要进度条,不然以为程序死掉了。

  

  

1,进度条窗口可以弹出但是没有进度条、标签、按钮等

  

2,进度条窗口内容完整,但是进度条的进度没有更新

  

3,进度条以上问题解决了,但在进度条窗口关闭()后,程序出现未响应现象。

  

  

区分表演,exec_区别

  

  

Thread.msleep(100),模拟100个文件

  

  

进度条对话框:

        # - * -编码:utf - 8 - *   # #设置progressbar      从PyQt5。QtWidgets进口QApplication、QWidget QDialog、QLabel QLineEdit, QProgressBar \   QPushButton、QVBoxLayout QHBoxLayout、QGridLayout QDialogButtonBox   从PyQt5。QtCore进口Qt, QBasicTimer QThread   导入系统      类ProgressBar (QDialog):   def __init__(自我、fileIndex filenum、家长=None):   超级(ProgressBar,自我). __init__(父)      self.resize (350100)   self.setWindowTitle(自我。tr(“处理进展”))      自我。TipLabel=QLabel(自我。tr(处理:" + " " + str (fileIndex) + " + str (filenum)))   自我。FeatLabel=QLabel(自我。tr("提取特征:"))      自我。FeatProgressBar=QProgressBar(自我)   self.FeatProgressBar.setMinimum (0)   self.FeatProgressBar.setMaximum(100) #总进程换算为100   之前            self.FeatProgressBar.setValue(0) #进度条初始值为0      TipLayout=QHBoxLayout ()   TipLayout.addWidget (self.TipLabel)      FeatLayout=QHBoxLayout ()   FeatLayout.addWidget (self.FeatLabel)   FeatLayout.addWidget (self.FeatProgressBar)      #自我。startButton=QPushButton(“开始”,自我)   自我。cancelButton=QPushButton(“取消”,自我)   # self.cancelButton.setFocusPolicy (Qt.NoFocus)      buttonlayout=QHBoxLayout ()   buttonlayout.addStretch (1)   buttonlayout.addWidget (self.cancelButton)   # buttonlayout.addStretch (1)   # buttonlayout.addWidget (self.startButton)      布局=QVBoxLayout ()   #=QGridLayout布局()   layout.addLayout (FeatLayout)   layout.addLayout (TipLayout)   layout.addLayout (buttonlayout)   self.setLayout(布局)   self.show ()      # self.startButton.clicked.connect (self.setValue)      self.cancelButton.clicked.connect (self.onCancel)   # self.startButton.clicked.connect (self.onStart)   #自我。计时器=QBasicTimer ()   #自我。一步=0      def setValue(自我价值):   self.FeatProgressBar.setValue(值)      def>   自我。ProgressBar=ProgressDialog.ProgressBar (self.FileIndex self.VideoNum)            因为我在范围(n *步骤,(n + 1) *步骤):   # time . sleep (0.05)   self.ProgressBar.setValue (i + 1) #更新进度条的值   QThread.msleep (int (self.ratio * 100)) #模拟文件传送,进度条可以一点点增加,而不是一下增加很多,也可以不需要   QApplication.processEvents() #实时显示   之前            self.ProgressBar.close() #记得关闭进度条   之前      

以上这篇pyqt5实现在别的窗口弹出进度条就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

pyqt5实现在别的窗口弹出进度条