Junio 22, 2018, 05:01:03 am

Autor Tema: Duda capas en pyqt  (Leído 2225 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Anonimo_7

  • Me das tu IP?
  • *
  • Mensajes: 39
    • Ver Perfil
Duda capas en pyqt
« en: Febrero 03, 2012, 06:22:01 am »
Hola bueno queria saber si es posible hacer capas en pyqt, he estado buscando y no he encontrado nada, y como ingles no se peor aun.
Bueno me explico digamos tengo una ventana inicial con 3 botones y al darle uno de ellos, quiero que desaparescan estos y salga otra cosa por ejemplo un cuadro de texto.

Lo primero que se me ocurre es borrar esos 3 botones y poner el cuadro de texto en el mismo container, creo que es posible. Una manera que hacia antes era poner la ventana con tres botones inabilitada, luego no mostrarla y crear una nueva ventana con el cuadro de textos, pero veo que es ineficiente.

No se si saben alguna manera de poder hacerlo, por eso pongo algo similar a capas.
Gracias por las ayudas.

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • https://uniendo.la
    • Ver Perfil
    • Ethereum Chile
Re:Duda capas en pyqt
« Respuesta #1 en: Febrero 10, 2012, 08:56:57 am »
Hola, buen dia !

  No entiendo mucho eso de usar Capas en tu programa, pero podrías usar el widget de pestañas y que al dar clic en X pestaña
automáticamente cambie, así no tienes que borrar campos.

  Espero haberte podido colaborar en algo :D !

Saludos, Javier.
« Última modificación: Febrero 10, 2012, 08:59:06 am por JaAViEr »
¡MI TWITTER You are not allowed to view links. Register or Login!
You are not allowed to view links. Register or Login !

Desconectado .:Snifer:.

  • Me das tu password?
  • **
  • Mensajes: 244
  • Viva yo y no amo a PortalHacker :P
    • Ver Perfil
    • Snifer@L4bs
Re:Duda capas en pyqt
« Respuesta #2 en: Febrero 10, 2012, 09:00:44 am »
Javi creo que se refiere a lo que me explicaste la otra noche  :toma: xD el hacer click me habilite un nuevo formulario, como paso de parametros mas o menos.

Saludos :P
You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login


Follow!! @sniferl4bs

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • https://uniendo.la
    • Ver Perfil
    • Ethereum Chile
Re:Duda capas en pyqt
« Respuesta #3 en: Febrero 10, 2012, 09:13:29 am »
Ah, pues sería lo mismo que hacer un formulario normal, solo que inicializarlo en form.hide() y no form.show() , me refiero a la
hora de instanciarlo en el código, cosa que al dar clic sobre el button hacemos el self.connect a una función que crearemos, le podemos poner no sé: def nuevo_form(self):
Y en ella solo poner form.show() y al anterior form le ponemos hide() (en caso de querer mostrar uno y quitar el otro)

Saludos !

EDIT:
Código: (python) You are not allowed to view links. Register or Login
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui, Qt
class ejemplo_cph(QtGui.QWidget):
  def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.boton = QtGui.QPushButton("Presioname!",self)
    self.connect(self.boton,QtCore.SIGNAL("clicked()"), self.nuevo_form) # Al dar clic en el boton vamos a la func nuevo_form
 
  def nuevo_form(self):
    segundo_form.show() # Mostramos segundo
   
class segundo_formulario(QtGui.QWidget):
  def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.boton = QtGui.QLabel("Gracias por presionarme !",self)
    self.resize(190,20)
correr = QtGui.QApplication(sys.argv)
primer_form = ejemplo_cph() #Instanciamos primer formulario ejemplo_cph para luego mostrarlo
primer_form.show() # Mostramos el primer formulario ejemplo_cph
segundo_form = segundo_formulario() # Instanciamos segundo formulario y luego lo ocultamos
segundo_form.hide() # Ocultamos el segundo formulario
correr.exec_()

Un ejemplo que acabo de codear, sobre obtener el dígito verificador:
Código: (python) You are not allowed to view links. Register or Login
# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
import sys

class ventana_alerta(QtGui.QWidget):
  def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.resize(283, 31)
    self.setWindowTitle("ALERTA!")

  def message(self, txt):
    self.txt = txt
    self.respuesta = QtGui.QLabel(self.txt, self)
    self.respuesta.setGeometry(10, 10, 260, 17)

class formulario_rut(QtGui.QWidget):

  def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.setWindowTitle("Digito verificador")
    self.resize(279, 36)
    self.label_rut = QtGui.QLabel("RUT", self)
    self.label_rut.setGeometry(0, 11, 59, 17)
    self.rut = QtGui.QLineEdit(self)
    self.rut.setGeometry(30, 7, 101, 23)
    self.label_verificador = QtGui.QLabel("-", self)
    self.label_verificador.setGeometry(135, 11, 16, 17)
    self.digito = QtGui.QLineEdit(self)
    self.digito.setGeometry(147, 7, 21, 23)
    self.verificar = QtGui.QPushButton("Verificar", self)
    self.verificar.setGeometry(180, 7, 92, 23)
    self.connect(self.verificar, QtCore.SIGNAL("clicked()"), self.operacion)

  def operacion(self):
    self.rut_valor = str(self.rut.text())
    if len(self.rut_valor) < 8 and len(self.rut_valor) > 9:
      creacion_alerta.message("Ingresa un rut valido por favor")
      creacion_alerta.show()
    else:
      rut = []
      ingresar = [rut.append(numeros) for numeros in self.rut_valor]
      rut.reverse()
      recorrido = 2
      multiplicar = 0
      for x in rut:
        multiplicar+=int(x)*recorrido
        if recorrido==7: recorrido = 1
        recorrido+=1
      modulo = multiplicar%11
      resultado = 11-modulo
      if resultado == 11: digito=0
      elif resultado == 10: digito="K"
      else: digito=resultado
      self.digito.setText(str(digito))

run = QtGui.QApplication(sys.argv)
creacion_alerta = ventana_alerta()
creacion_formulario = formulario_rut()
creacion_formulario.show()
run.exec_()

Y pues prueba ingresar menos de 7 carácteres y aparecerá el otro FORM simulando un alerta
« Última modificación: Febrero 10, 2012, 05:02:37 pm por JaAViEr »

Desconectado Anonimo_7

  • Me das tu IP?
  • *
  • Mensajes: 39
    • Ver Perfil
Re:Duda capas en pyqt
« Respuesta #4 en: Febrero 13, 2012, 12:16:27 pm »
Hola gracias por responder a los 2, bueno aunque eso no es lo que me refiero. Por lo que puedo ver en tu codigo, lo que haces es crear 2 ventanas y una simplemente no mostrarla y cuando sucede algo en la que tiens que mostrar lo activas con show(), pero no es lo que pregunto, talvez me explique mal.

Digamos tengo una ventana como el msn
------------
  usuario               |
contrasena            |
conectar
--------------------
y cuando le da a conectar esta misma ventana cambie a
------------------------
Anonimo (conectado)|
amigos:                       |
luisito                         |
pedrito                       |
-----------------------

pero tiene que ser la misma ventana. Yo lo que he hecho ha sido borrar el label usuario y contraseña y el boton conectar y el lineedit, para luego poner en esa misma ventana el label Anonimo (conectado) y demas. Lo que ocurre es que no me parece optimo hacerlo de esta manera ya que por decirlo de alguna manera, me desconecto y vuelvo a conectar, estaria borrando y volviendo a contruir cosas que tenia hechas. Es por eso que hacia mencion a lo de capas para ponerla uno delante de la otra , pero no se si eso se puede hacer. Gracias.

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • https://uniendo.la
    • Ver Perfil
    • Ethereum Chile
Re:Duda capas en pyqt
« Respuesta #5 en: Febrero 13, 2012, 12:55:25 pm »
Algo que podrías hacer es definir el contenido de los primeros labels en variables.
Si ingresa correctamente, le cambias el valor solo con setText() o crea pestañas
con el widget para las pestañas ...


xx
Duda sobre pyqt con qtdesigner

Iniciado por Anonimo_7

3 Respuestas
921 Vistas
Último mensaje Febrero 03, 2012, 07:39:19 am
por Khan-BG
xx
duda de capas en dreamweaver

Iniciado por hari

3 Respuestas
1618 Vistas
Último mensaje Julio 23, 2007, 01:26:35 pm
por vart001
xx
Color de letra en PYQT

Iniciado por Anonimo_7

1 Respuestas
1635 Vistas
Último mensaje Febrero 17, 2012, 10:51:52 am
por JaAViEr
xx
Problema con PyQt... QPushButton y setText()...

Iniciado por hanlly

3 Respuestas
1129 Vistas
Último mensaje Julio 25, 2012, 07:57:16 pm
por JaAViEr
exclamation
PyQT: Desarrollando aplicaciones de escritorio [PDF]

Iniciado por Sthefano02

3 Respuestas
3739 Vistas
Último mensaje Julio 15, 2010, 03:25:28 pm
por eduardogotti
xx
Las Capas en HTML

Iniciado por shevchenko

0 Respuestas
1501 Vistas
Último mensaje Mayo 22, 2009, 04:57:10 pm
por shevchenko
question
Desarollo en Capas

Iniciado por angel_neo

1 Respuestas
6949 Vistas
Último mensaje Enero 11, 2018, 11:11:28 am
por peluya
xx
Ayuda con capas

Iniciado por maximilion360

1 Respuestas
1118 Vistas
Último mensaje Diciembre 07, 2012, 04:26:12 pm
por seth
xx
Capas y tablas

Iniciado por Heent

1 Respuestas
1278 Vistas
Último mensaje ſeptiembre 16, 2011, 12:18:53 am
por .xAk.
question
Programacion por capas (dudas)

Iniciado por propio007

9 Respuestas
8595 Vistas
Último mensaje Enero 11, 2018, 11:15:12 am
por peluya