QT4 进度条
在本文中,我们将演示如何使用 progressbar
控件。进度条与其他控件的不同之处在于它及时更新。
QT4 Progressbar 示例
让我们从代码开始:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtCore import pyqtSlot,SIGNAL,SLOT
class QProgBar(QProgressBar):
value = 0
@pyqtSlot()
def increaseValue(progressBar):
progressBar.setValue(progressBar.value)
progressBar.value = progressBar.value+1
# Create an PyQT4 application object.
a = QApplication(sys.argv)
# The QWidget widget is the base class of all user interface objects in PyQt4.
w = QWidget()
# Set window size.
w.resize(320, 240)
# Set window title
w.setWindowTitle("PyQT4 Progressbar @ pythonspot.com ")
# Create progressBar.
bar = QProgBar(w)
bar.resize(320,50)
bar.setValue(0)
bar.move(0,20)
# create timer for progressBar
timer = QTimer()
bar.connect(timer,SIGNAL("timeout()"),bar,SLOT("increaseValue()"))
timer.start(400)
# Show window
w.show()
sys.exit(a.exec_())
实例栏(QProgBar 类)用于保存进度条的值。我们调用函数 setValue()
来更新它的值。给出参数 w 以将其附加到主窗口。然后我们将它移动到屏幕上的位置 (0,20)
并给它一个宽度和高度。
要及时更新进度条,我们需要一个 QTimer()
。我们将控件与计时器连接,计时器调用函数 increaseValue()
。我们设置定时器每 400 毫秒重复一次函数调用。你还看到单词 SLOT
和 SIGNAL
。如果用户执行诸如单击按钮,在框中键入文本等操作,则窗口控件会发出 SIGNAL
。此信号不执行任何操作,但可用于连接 SLOT
,该插槽充当接收器并对其起作用。
结果: