viernes, 3 de julio de 2015

14 - Python PyQt (Interfaz gráfica) - Slider Horizontal y Vertical




En este capítulo del tutorial de Python 3 más PyQt5 veremos como manejar objetos Slider tanto Horizontal como Vertical, este tipo de objetos nos permiten definir rangos de valores numéricos.

Crearemos un archivo ui con Designer con un cuadro de diálogo y los siguientes objetos:
  • Un objeto Horizontal Slider con nombre horizontalSlider
  • Un objeto Label con nombre labelHorizontal y le quitaremos el texto que viene por defecto, en este Label mostraremos el valor del slider horizontal.
  • Un objeto Vertical Slider con nombre verticalSlider
  • Un objeto Label con nombre labelVertical y le quitaremos el texto que viene por defecto, en este Label mostraremos el valor del slider vertical.
  • Guardar el archivo como slider.ui

 slider.pyw


import sys
from PyQt5.QtWidgets import QApplication, QDialog
from PyQt5 import uic

class Dialogo(QDialog):
 def __init__(self):
  QDialog.__init__(self)
  uic.loadUi("slider.ui", self)
  
  #Horizontal slider
  self.horizontalSlider.setMinimum(0)
  self.horizontalSlider.setMaximum(100)
  self.horizontalSlider.setSingleStep(1)
  self.horizontalSlider.setValue(50)
  self.horizontalSlider.valueChanged.connect(self.getValueHorizontal)
  
  #Vertical slider
  self.verticalSlider.setMinimum(0)
  self.verticalSlider.setMaximum(1000)
  self.verticalSlider.setSingleStep(10)
  self.verticalSlider.setValue(500)
  self.verticalSlider.valueChanged.connect(self.getValueVertical)
  
 def getValueHorizontal(self):
  value = self.horizontalSlider.value()
  self.labelHorizontal.setText(str(value))
  
 def getValueVertical(self):
  value = self.verticalSlider.value()
  self.labelVertical.setText(str(value))
  
app = QApplication(sys.argv)
dialogo = Dialogo()
dialogo.show()
app.exec_()