您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在python中使用QSpinBox計(jì)數(shù)器控件,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
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)改變
方法 | 描述 |
---|---|
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)值 |
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)行效果如圖
在這個(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ò),可以把它分享出去讓更多的人看到。
免責(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)容。