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
,該插槽充當接收器並對其起作用。
結果: