Código Python:
Ver original
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt4.QtCore import SIGNAL from PyQt4.QtGui import QLabel, QWidget, QLineEdit, QApplication, QHBoxLayout, QVBoxLayout, QPushButton, QMainWindow, QAction class MyMainWindow(QMainWindow): def __init__(self, parent = None): QMainWindow.__init__(self, parent) self.setWindowTitle("Buscador") self.statusBar().showMessage("Esperando datos...") if True: self.centralWidget = MyWidget() else: centralWidget = QLabel("OK") self.setCentralWidget(self.centralWidget) class MyWidget(QWidget): def __init__(self, parent = None): QWidget.__init__(self, parent) layoutLabel = QVBoxLayout(self) label1 = QLabel("Usuario") label2 = QLabel(u"Contraseña") label1.setToolTip("Usuario") label2.setToolTip(u"Contraseña") layoutLabel.addWidget(label1) layoutLabel.addWidget(label2) layoutEntry = QVBoxLayout(self) self.entry1 = QLineEdit() self.entry2 = QLineEdit() self.entry1.setToolTip("Ingrese usuario") self.entry2.setToolTip(u"Ingrese contraseña") layoutEntry.addWidget(self.entry1) layoutEntry.addWidget(self.entry2) layoutData = QHBoxLayout(self) layoutData.addStretch(1) print "hola" layoutData.addLayout(layoutLabel) layoutData.addLayout(layoutEntry) layoutEnd = QVBoxLayout(self) button = QPushButton("Conectar") button.setToolTip("Presionar para conectar") self.connect(button, SIGNAL("clicked()"), self.conectar) layoutEnd.addStretch(1) layoutEnd.addLayout(layoutData) layoutEnd.addWidget(button) def conectar(self): self.user = self.entry1.text() self.passw = self.entry2.text() print self.user app = QApplication(sys.argv) windows = MyMainWindow() windows.show() app.exec_()
Cual es la forma correcta de trabajar con esos Layout?
Inicialmente tenia otro codigo, tenia varias clases (MyLabels, MyEntrys, MyData), donde en cada una tenia un Layout, entonces hiba agregandolos asi:
Código Python:
Ver original
layoutData.addWidget(MyLabels) layoutData.addWidget(MyEntrys)
Me funcionaba bien, pero quiso borrar las 3, y quedarme solo con MyWidget, el problema es que no me funciona el mismo procedimiento, de agregar cada layout a uno mayor.
Que puedo hacer?