PyQt - Widget QSpinBox
UMA QSpinBoxO objeto apresenta ao usuário uma caixa de texto que exibe um número inteiro com o botão para cima / para baixo à sua direita. O valor na caixa de texto aumenta / diminui se o botão para cima / para baixo for pressionado.
Por padrão, o número inteiro na caixa começa com 0, vai até 99 e muda na etapa 1. Use QDoubleSpinBox para valores flutuantes.
Métodos importantes da classe QSpinBox estão listados na tabela a seguir -
Sr. Não. | Métodos e Descrição |
---|---|
1 |
setMinimum() Define o limite inferior do contador |
2 |
setMaximum() Define o limite superior do contador |
3 |
setRange() Define o valor mínimo, máximo e passo |
4 |
setValue() Define o valor da caixa de rotação programaticamente |
5 |
Value() Retorna o valor atual |
6 |
singleStep() Define o valor do passo do contador |
O objeto QSpinBox emite o sinal valueChanged () toda vez que o botão up / own é pressionado. A função de slot associada pode recuperar o valor atual do widget pelo método value ().
O exemplo a seguir tem um rótulo (l1) e spinbox (sp) colocados no layout vertical de uma janela superior. O sinal valueChanged () é conectado ao método valuechange ().
self.sp.valueChanged.connect(self.valuechange)
A função valueChange () exibe o valor atual como legenda do rótulo.
self.l1.setText("current value:"+str(self.sp.value()))
O código completo é o seguinte -
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()
O código acima produz a seguinte saída -