gpt4 book ai didi

qt - 如何流畅地显示QProgressBar?

转载 作者:行者123 更新时间:2023-12-02 04:29:02 26 4
gpt4 key购买 nike

我正在 MacOSX 上学习 Pyside QProgressBar。当我像下面一样使用 QProgressBar 时,它仅指示 0% 或 100%。如何流畅地制作一个QProgressBar?有什么办法可以做到这一点吗?

from PySide.QtGui import QApplication, QProgressBar, QWidget
from PySide.QtCore import QTimer
import time

app = QApplication([])
pbar = QProgressBar()
pbar.setMinimum(0)
pbar.setMaximum(100)

pbar.show()

def drawBar():
global pbar
pbar.update()

t = QTimer()
t.timeout.connect(drawBar)
t.start(100)

for i in range(1,101):
time.sleep(0.1)
pbar.setValue(i)

app.exec_()

最佳答案

删除此代码:

for i in range(1,101):   # this won't work, because
time.sleep(0.1) # Qt's event loop can't run while
pbar.setValue(i) # you are forcing the thread to sleep

而是添加一个全局变量 p:

p = 0

并在您的drawBar()函数中增加它:

def drawBar():
global pbar
global p
p = p + 1
pbar.setValue(p)
pbar.update()

关于qt - 如何流畅地显示QProgressBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24645585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com