Python Qt GUI设计:QSpinBox计数器类(基础篇—15)
QSpinBox是一個計數(shù)器控件,允許用戶選擇一個整數(shù)值,通過單擊向上/向下按鈕或按鍵盤上的上/下箭頭來增加/減少當(dāng)前顯示的值,當(dāng)然用戶也可以輸入值。
在默認情況下,QSpinBox的取值范圍是0~99,每次改變的步長值為1。
QSpinBox類和QDoubleSpinBox類均派生自QAbstractSpinBox類。QSpinBox用于處理整數(shù)值,QDoubleSpinBox則用于處理浮點值,它們之間的區(qū)別就是處理數(shù)據(jù)的類型不同,其他功能都基本相同。QDoubleSpinBox的默認精度是兩位小數(shù),但可以通過setDecimals()來改變。
QSpinBox類中的常用方法如下表所示:
每次單擊向上/向下按鈕時,QSpinBox計數(shù)器都會發(fā)射valueChanged信號,可以從相應(yīng)的槽函數(shù)中通過value()函數(shù)獲得計數(shù)器的當(dāng)前值。
來看看QSpinBox按鈕類的示例,效果如下所示:
在這個例子中,有一個標簽和計數(shù)器放置在一個垂直布局管理器中,并把這個垂直布局管理器放置在窗口中。將計數(shù)器的valueChanged 信號連接到槽函數(shù)valuechange()。
實現(xiàn)代碼如下所示:
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class spindemo(QWidget):def __init__(self, parent=None):super(spindemo, self).__init__(parent)self.setWindowTitle("SpinBox 例子")self.resize(300, 100)layout = QVBoxLayout()self.l1=QLabel("current value:")self.l1.setAlignment(Qt.AlignCenter)layout.addWidget(self.l1)self.sp = QSpinBox()layout.addWidget(self.sp)self.sp.valueChanged.connect(self.valuechange)self.setLayout(layout)def valuechange(self): self.l1.setText("current value:" + str(self.sp.value()) )if __name__ == '__main__':app = QApplication(sys.argv)ex = spindemo()ex.show()sys.exit(app.exec_())
總結(jié)
以上是生活随笔為你收集整理的Python Qt GUI设计:QSpinBox计数器类(基础篇—15)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 和12岁小同志搞创客开发:如何驱动LCD
- 下一篇: Python Qt GUI设计:QSli