溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在python中使用QSpinBox計(jì)數(shù)器控件

發(fā)布時(shí)間:2021-03-20 16:27:01 來(lái)源:億速云 閱讀:145 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹怎么在python中使用QSpinBox計(jì)數(shù)器控件,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

PyQt5計(jì)數(shù)器控件QSpinBox簡(jiǎn)介

QSPINBox是一個(gè)計(jì)數(shù)器控件,允許用戶選擇一個(gè)整數(shù)值通過(guò)單擊向上向下或者按鍵盤上的上下鍵來(lái)增加減少當(dāng)前顯示的值,當(dāng)然用戶也可以輸入值

在默認(rèn)情況下,QSpinBox的取值范圍是(0-99),每次改變的步長(zhǎng)是1

QSpinBox類和QDoubleSpinbox類均派生自QAbstractSpinBox類,QSpinBox用于處理整數(shù)值,QDoubleSpinBox則用于處理浮點(diǎn)數(shù)值,他們之間的區(qū)別就是處理數(shù)據(jù)的類型不同,其他功能基本相同,QDoubleSpinBox的默認(rèn)精度是兩位小數(shù),但可以通過(guò)setDecimals()來(lái)改變

QSpinBox類中的常用方法

方法描述
setMinimum()設(shè)置計(jì)數(shù)器的下界
setMaximum()設(shè)置計(jì)數(shù)器的上界
setRange()設(shè)置計(jì)數(shù)器的最大值,最小值,步長(zhǎng)值
setValue()設(shè)置計(jì)數(shù)器的當(dāng)前值
Value()返回計(jì)數(shù)器的當(dāng)前值
singleStep()設(shè)置計(jì)數(shù)器的步長(zhǎng)值

QSpinBox的使用實(shí)例

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)
    #設(shè)置標(biāo)題與初始大小
    self.setWindowTitle('SpinBox 例子')
    self.resize(300,100)

    #垂直布局
    layout=QVBoxLayout()

    #創(chuàng)建按鈕并設(shè)置居中
    self.l1=QLabel('current value')
    self.l1.setAlignment(Qt.AlignCenter)

    layout.addWidget(self.l1)

    #創(chuàng)建計(jì)數(shù)器,并添加控件,數(shù)值改變時(shí)發(fā)射信號(hào)觸發(fā)綁定事件
    self.sp=QSpinBox()
    layout.addWidget(self.sp)
    self.sp.valueChanged.connect(self.Valuechange)


    self.setLayout(layout)

  def Valuechange(self):
    #顯示當(dāng)前計(jì)數(shù)器地?cái)?shù)值
    self.l1.setText('current value:'+str(self.sp.value()))
if __name__ == '__main__':
  app=QApplication(sys.argv)
  ex=spindemo()
  ex.show()
  sys.exit(app.exec_())

運(yùn)行效果如圖

怎么在python中使用QSpinBox計(jì)數(shù)器控件

QSpinBox代碼分析:

在這個(gè)例子中,有一個(gè)標(biāo)簽和計(jì)數(shù)器放置在一個(gè)垂直布局管理器中,并把這個(gè)垂直布局管理器放置在窗口中,將計(jì)數(shù)器的valueChanged信號(hào)連接到槽函數(shù)valuechange(),其核心代碼是

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

valuechange()函數(shù)把計(jì)數(shù)器的當(dāng)前值設(shè)置到標(biāo)簽文本中

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

關(guān)于怎么在python中使用QSpinBox計(jì)數(shù)器控件就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI