QSpinBox 是一個計數器控件,允許用戶選擇一個整數值,通過單擊向上/向下按鈕或按鍵盤上的上/下箭頭來增加/減少當前顯示的值,當然用戶也可以輸入值。在默認情況下,QSpinBox 的取值范圍是 0~99,每次改變的步長值為 1。
QSpinBox 類和 QDoubleSpinBox 類均派生自 QAbstractSpinBox 類。QSpinBox 用于處理整數值,QDoubleSpinBox 則用于處理浮點值,它們之間的區別就是處理數據的類型不同,其他功能都基本相同。QDoubleSpinBox 的默認精度是兩位小數,但可以通過 setDecimals() 來改變。
QSpinBox類中的常用方法:
每次單擊向上/向下按鈕時,QSpinBox 計數器都會發射 valueChanged 信號,可以從相應的 slot 函數中通過 value() 函數獲得計數器的當前值。
- 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_())
效果:
QSpinBox和QDoubleSpinBox的比較
- QSpingBox是一個計數器控件,允許用戶選擇一個整數值,通過上下按鈕或鍵盤上下箭頭來增加或減少當前值,同時支持用戶手動輸入。
- 在默認情況下QSpingBox的默認取值范圍是0-99,步長為1。
- QSpinBox類和QDoubleSpinBox類均派生自QAbstractSpinBox類,QSpinBox用于處理整數值,QDoubleSpinBox則用于處理浮點值,他們之間的區別就是處理數據的類型不同,其他功能都基本相投,QDoubleSpinBox的默認精度是兩位小數,但可以通過setDecimals()來設置。
到此這篇關于PyQt5中QSpinBox計數器的實現的文章就介紹到這了,更多相關PyQt5 QSpinBox計數器內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.jianshu.com/p/3a67ef2c315f