GUI學習之十七——QDoubleSpinBox學習總結


在上一章我總結了QSpinBox的使用方法,QSpinBox是用來操作整數或離散集合的,還有另外一種控件是用來操作浮點類數據的,就是QDoubleSpinBox。

一.描述

  QDoubleSpinBox和QSpinBox的用法基本一致,都是繼承自QAbstractSpinBox這個父類的,既可以通過步長調節按鈕調整數值,也得以通過鍵盤給文本框直接賦值。

二.功能作用

  1.構造函數

    可以直接聲明控件,聲明的控件默認狀態是0-99.99,步長是1.0

  2.設置范圍

#設置
QDoubleSpinBox.setMaximum()
QDoubleSpinBox.setMinimum()
QDoubleSpinBox.setRange()
#獲取
QDoubleSpinBox.maximum()
QDoubleSpinBox.minimum()

  3.設置步長

#設置
QDoubleSpinBox.setSingleStep()
#獲取
QDoubleSpinBox.singleStep()         #——>float

  4.設置前綴和后綴

#設置
QDoubleSpinBox.setPrefix()  #前綴
QDoubleSpinBox.setSuffix()  #后綴
#獲取
QDoubleSpinBox.prefix()         
QDoubleSpinBox.suffix() 

   5.最小值對應文本

#設置
QDoubleSpinBox.setSpecialValueText()
#獲取
QDoubleSpinBox.specialValueText()       #——>str

  6.顯示精度(小數位數)

#設置
QDoubleSpinBox.setDecimals(int)
#獲取
QDoubleSpinBox.decimals()               #——>int

  7.設置和獲取數值

#設置
QDoubleSpinBox.setValue(int)
#獲取
QDoubleSpinBox.value()       #——>float
QDoubleSpinBox.cleanText()   #——>str獲取的不含前后綴、尾隨空格等的數值部分的字符串

而如果用父類的

QDoubleSpinBox.text()

獲取值則返回的是文本框里顯示的狀態,包含各種前后綴和空格等字符

  8.自定義樣式

和QSpinBox的方式一樣,對函數進行重構后對這個重寫的類實例化調用就好了

class MyDoubleSpinBox(QDoubleSpinBox):
    def textFromValue(self, v: float):
        return v

三.信號

和QSpinBox控件一樣的,只不過發送的信號是float的。注意一點

QDoubleSpinBox.valueChanged(int)
QDoubleSpinBox.valueChanged(str)

這兩個信號是一樣的,但是所攜帶的參數不同,就是說下面的信號是上面的信號的重載而不是說他是一個過期的用法。舉個例子,是這樣使用的

QDoubleSpinBox.valueChanged[str].connect(lambda val:print(val,type(val)))

加了[]就是告訴信號要攜帶的參數類型是字符串(默認的是float)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM