将标准输出进度条带到 QTextBrowser 的最佳方式

问题描述

我从教程中编写的终端中有一个工作进度条。现在我想知道是否有可能将它作为输出输入到 GUI qttextbrowser 中?有人有什么想法吗?感谢您的帮助!

高级模具进度条:

class ProgressBar(object):

def __init__(self,message,width=20,progressSymbol=u'▣ ',emptySymbol=u'□ '):
    self.width = width

    if self.width < 0:
        self.width =0

    self.message = message 
    self.progressSymbol = progressSymbol
    self.emptySymbol = emptySymbol

def update(self,progress):
    totalBlocks = self.width
    filledBlocks =int(round(progress / (100 / float(totalBlocks)) ))
    emptyBlocks = totalBlocks - filledBlocks

    progressBar = self.progressSymbol *filledBlocks + \
        self.emptySymbol * emptyBlocks

    if not self.message:
        self.message =u''

    self.progressMessage = u'\r{0} {1}   {2}%'.format(self.message,progressBar,progress)

    sys.stdout.write(self.progressMessage)
    sys.stdout.flush()

def calculateAndUpdate(self,done,total):
    progress = int(round((done / float(total)) * 100))
    self.update(progress)

还有复制功能

p = ProgressBar('copy ...')
def copyFile_progress(src,dest):
numFiles = countFiles(src)

if numFiles > 0:
    makedirs(dest)

    numcopied = 0

    for path,dirs,filenames in os.walk(src):
        for directory in dirs:
            destDir = path.replace(src,dest)
            makedirs(os.path.join(destDir,directory))

        for sFile in filenames:
            srcFile = os.path.join(path,sFile)
            destFile = os.path.join(path.replace(src,dest),sFile)
            shutil.copy(srcFile,destFile)
            numcopied += 1
            p.calculateAndUpdate(numcopied,numFiles)
            
        print

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)