Pyqt-qspinbox-widget

提供:Dev Guides
移動先:案内検索

PyQt-QSpinBoxウィジェット

*QSpinBox* オブジェクトは、右側に上/下ボタンがある整数を表示するテキストボックスをユーザーに提示します。 上/下ボタンを押すと、テキストボックスの値が増加/減少します。

デフォルトでは、ボックス内の整数は0から始まり、99まで進み、ステップ1で変更されます。 float値にはQDoubleSpinBoxを使用します。

QSpinBoxクラスの重要なメソッドは、次の表に記載されています-

Sr.No. Methods & Description
1

setMinimum()

カウンターの下限を設定します

2

setMaximum()

カウンターの上限を設定します

3

setRange()

最小値、最大値、ステップ値を設定します

4

setValue()

スピンボックスの値をプログラムで設定します

5

Value()

現在の値を返します

6

singleStep()

カウンターのステップ値を設定します

QSpinBoxオブジェクトは、上/所有ボタンが押されるたびにvalueChanged()シグナルを発信します。 関連するスロット関数は、value()メソッドによってウィジェットの現在の値を取得できます。

次の例では、ラベル(l1)とスピンボックス(sp)がトップウィンドウの垂直レイアウトに配置されています。 valueChanged()シグナルはvaluechange()メソッドに接続されています。

self.sp.valueChanged.connect(self.valuechange)

valueChange()関数は、現在の値をラベルのキャプションとして表示します。

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

完全なコードは次のとおりです-

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

class spindemo(QWidget):
   def __init__(self, parent = None):
      super(spindemo, self).__init__(parent)

      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)
      self.setWindowTitle("SpinBox demo")

   def valuechange(self):
      self.l1.setText("current value:"+str(self.sp.value()))

def main():
   app = QApplication(sys.argv)
   ex = spindemo()
   ex.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   main()

上記のコードは、次の出力を生成します-

QSpinBoxウィジェット出力