Ir al contenido


Foto

Layout de PySide [Python]


  • Por favor identifícate para responder
3 respuestas en este tema

#1 jonbra

jonbra

    Advanced Member

  • Miembros
  • PipPipPip
  • 57 mensajes

Escrito 23 enero 2015 - 03:51

Hola a todos. Estoy aprendiendo a crear interfaces gráficas con la librería de Qt y Python, por lo que tengo que utilizar PySide (prefiero Pyside que PyQt por motivos de licencia). El problema es que al añadir los Widgets al Layout y ejecutar el código la ventana no aparece. Pero si quito el Layout la ventana sí aparece.

¿Qué estoy haciendo mal?

(En Pastebin por si alguien se ubica mejor en el código con resaltado http://pastebin.com/JA54BnpP )



delphi
  1. """
  2. pruebas de pyside
  3. """
  4. from PySide import QtCore, QtGui
  5. import sys
  6.  
  7. class Ventana(QtGui.QWidget):
  8.     def __init__(self):
  9.         super(Ventana, self).__init__()
  10.         """propiedades de ventana"""
  11.         self.setWindowTitle("anSound")
  12.         self.resize(600, 200)
  13.         self.move(200, 200)
  14.         self.setWindowIcon(QtGui.QIcon("/home/rebel/Imagenes/icon.jpg"))
  15.         """botones"""
  16.         boton=QtGui.QPushButton("Boton 1", self)
  17.         boton2=QtGui.QPushButton("Boton 2", self)
  18.         line_edit=QtGui.QLineEdit(self)
  19.         """cambiar posicionamiento de botones"""
  20.         boton2.move(90, 0)
  21.         line_edit.move(400,0)
  22.         #setgeometry establece el posicionamiento pero tambien las dimensiones
  23.         #boton2.setGeometry(100, 100, 90, 20)
  24.         """labels"""
  25.         label=QtGui.QLabel("esto es un label", self).move(200,0)
  26.         """layouts"""
  27.         #aqui es donde está el problema
  28.         layout_horizontal=QtGui.QHBoxLayout(self)
  29.         layout_horizontal.addWidget(boton)
  30.         layout_horizontal.addWidget(boton2)
  31.         layout_horizontal.addWidget(label)
  32.         layout_horizontal.addWidget(line_edit)
  33.         self.setLayout(layout_horizontal)
  34.  
  35.  
  36. app=QtGui.QApplication(sys.argv)
  37. ventana= Ventana()
  38. ventana.show()
  39.  
  40. sys.exit(app.exec_())


  • 0

#2 Nikolas

Nikolas

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationMar del Plata / Bs As / Argentina

Escrito 23 enero 2015 - 03:58

mira este tuto a ver si te orienta: http://zetcode.com/g...youtmanagement/
  • 0

#3 jonbra

jonbra

    Advanced Member

  • Miembros
  • PipPipPip
  • 57 mensajes

Escrito 23 enero 2015 - 04:25

Muchas gracias, estuve leyendo el código, y además de las cabeceras y el addStretch no tengo nada diferente de ese código. Añadí esos cambios y sigue sin funcionar. No entiendo por qué al añadir un Layout en el que meto los botones la ventana no se abre :s
  • 0

#4 jonbra

jonbra

    Advanced Member

  • Miembros
  • PipPipPip
  • 57 mensajes

Escrito 23 enero 2015 - 11:08

Encontré el motivo del error, resulta que el line edit lo estaba moviendo 200 pixeles a la vez que lo metia en el layout, por lo tanto se ve que no es compatible, pero lo pude comprobar al modificar esa línea de código :D
  • 0




IP.Board spam blocked by CleanTalk.