1. 程式人生 > 程式設計 >python GUI庫圖形介面開發之PyQt5計數器控制元件QSpinBox詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5計數器控制元件QSpinBox詳細使用方法與例項

PyQt5計數器控制元件QSpinBox簡介

QSPINBox是一個計數器控制元件,允許使用者選擇一個整數值通過單擊向上向下或者按鍵盤上的上下鍵來增加減少當前顯示的值,當然使用者也可以輸入值

在預設情況下,QSpinBox的取值範圍是(0-99),每次改變的步長是1

QSpinBox類和QDoubleSpinbox類均派生自QAbstractSpinBox類,QSpinBox用於處理整數值,QDoubleSpinBox則用於處理浮點數值,他們之間的區別就是處理資料的型別不同,其他功能基本相同,QDoubleSpinBox的預設精度是兩位小數,但可以通過setDecimals()來改變

QSpinBox類中的常用方法

方法 描述
setMinimum() 設定計數器的下界
setMaximum() 設定計數器的上界
setRange() 設定計數器的最大值,最小值,步長值
setValue() 設定計數器的當前值
Value() 返回計數器的當前值
singleStep() 設定計數器的步長值

QSpinBox的使用例項

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui 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_())

執行效果如圖

python GUI庫圖形介面開發之PyQt5計數器控制元件QSpinBox詳細使用方法與例項

QSpinBox程式碼分析:

在這個例子中,有一個標籤和計數器放置在一個垂直佈局管理器中,並把這個垂直佈局管理器放置在視窗中,將計數器的valueChanged訊號連線到槽函式valuechange(),其核心程式碼是

self.sp.valueChanged.connect(self.Valuechange)

valuechange()函式把計數器的當前值設定到標籤文字中

self.l1.setText('current value:'+str(self.sp.value()))

本文主要講解了PyQt5計數器控制元件QSpinBox詳細使用方法與例項,更多關於PyQt5控制元件知識請檢視下面的相關連結