将标准输出进度条带到 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...