[pyar] Ubicar widget en un MDI

Roberto Alsina ralsina en netmanagers.com.ar
Lun Sep 3 10:00:35 ART 2012


On 09/03/2012 09:59 AM, Fernando Gonzalez wrote:
> El 03/09/2012 09:40, Roberto Alsina escribió:
>> On 09/03/2012 09:23 AM, Fernando Gonzalez wrote:
>>>
>>> este código lo levante de las páginas de trolltech, andan todas las
>>> funciones, de hecho el formulario no puede achicarse por debajo de los
>>> valores fijados en el código, pero no se posiciona donde quiero. La
>>> pregunta es si alguien conoce alguna variante para posicionar el widget
>>> cuando se presenta en la pantalla. Desde ya muchas gracias
>>
>> Es muy difícil poder saber qué es lo que pasa con un fragmento de código
>> que no podemos usar :-)
>>
>> En general, lo que deberías hacer es simplemente moverlo, PERO eso no
>> alcanza si estás usando, por ejemplo, un layout manager, o si hacés
>> reparenting del widget.
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>>
> te paso el código completo, (ja no es tan grande), primero te paso el
> código que genera el pyuic4

Un zip? Un repo en alguna parte? Calculo que extraer todo este código de 
un mail en HTML me lleva 15 minutos...

>
>> # -*- coding: utf-8 -*-
>>
>> # Form implementation generated from reading ui file 'frmCliente.ui'
>> #
>> # Created: Thu Jul 26 16:18:02 2012
>> #      by: PyQt4 UI code generator 4.9.1
>> #
>> # WARNING! All changes made in this file will be lost!
>>
>> from PyQt4 import QtCore, QtGui
>>
>> try:
>>     _fromUtf8 = QtCore.QString.fromUtf8
>> except AttributeError:
>>     _fromUtf8 = lambda s: s
>>
>>
>> class Ui_frmCliente(object):
>>     def setupUi(self, frmCliente):
>>         frmCliente.setObjectName(_fromUtf8("frmCliente"))
>>         frmCliente.resize(465, 231)
>>         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
>>                                        QtGui.QSizePolicy.Fixed)
>>         sizePolicy.setHorizontalStretch(0)
>>         sizePolicy.setVerticalStretch(0)
>>         sizePolicy.setHeightForWidth(frmCliente.sizePolicy().
>>                                      hasHeightForWidth())
>>         frmCliente.setSizePolicy(sizePolicy)
>>         palette = QtGui.QPalette()
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active,
>>                          QtGui.QPalette.WindowText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(170, 170, 255))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 191))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Light,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 159))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active,
>> QtGui.QPalette.Midlight, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 63))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Dark,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 84))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Mid,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 127))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Text,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 170, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active,
>>                          QtGui.QPalette.BrightText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active,
>>                          QtGui.QPalette.ButtonText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 127))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Shadow,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 63))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active,
>>                          QtGui.QPalette.AlternateBase, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 220))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active,
>>                          QtGui.QPalette.ToolTipBase, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Active,
>>                          QtGui.QPalette.ToolTipText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>>                          QtGui.QPalette.WindowText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 127))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>> QtGui.QPalette.Button, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 191))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>> QtGui.QPalette.Light, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 159))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>>                          QtGui.QPalette.Midlight, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 63))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Dark,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 84))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Mid,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Text,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>>                          QtGui.QPalette.BrightText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>>                          QtGui.QPalette.ButtonText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 127))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>> QtGui.QPalette.Window, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>> QtGui.QPalette.Shadow, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 63))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>>                          QtGui.QPalette.AlternateBase, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 220))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>>                          QtGui.QPalette.ToolTipBase, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Inactive,
>>                          QtGui.QPalette.ToolTipText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 63))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>>                          QtGui.QPalette.WindowText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 127))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>> QtGui.QPalette.Button, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 191))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>> QtGui.QPalette.Light, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 159))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>>                          QtGui.QPalette.Midlight, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 63))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Dark,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 84))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Mid,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(113, 113, 113))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Text,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>>                          QtGui.QPalette.BrightText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>>                          QtGui.QPalette.ButtonText, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 127))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base,
>> brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 127))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>> QtGui.QPalette.Window, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>> QtGui.QPalette.Shadow, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 127))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>>                          QtGui.QPalette.AlternateBase, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(255, 255, 220))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>>                          QtGui.QPalette.ToolTipBase, brush)
>>         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
>>         brush.setStyle(QtCore.Qt.SolidPattern)
>>         palette.setBrush(QtGui.QPalette.Disabled,
>>                          QtGui.QPalette.ToolTipText, brush)
>>         frmCliente.setPalette(palette)
>>         self.layoutWidget = QtGui.QWidget(frmCliente)
>>         self.layoutWidget.setGeometry(QtCore.QRect(10, 10, 455, 178))
>>         self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
>>         self.gridLayout = QtGui.QGridLayout(self.layoutWidget)
>>         self.gridLayout.setMargin(0)
>>         self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
>>         self.label = QtGui.QLabel(self.layoutWidget)
>>         self.label.setStatusTip(_fromUtf8(""))
>>         self.label.setObjectName(_fromUtf8("label"))
>>         self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
>>         self.label_2 = QtGui.QLabel(self.layoutWidget)
>>         self.label_2.setStatusTip(_fromUtf8(""))
>>         self.label_2.setObjectName(_fromUtf8("label_2"))
>>         self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
>>         self.txtNombre = QtGui.QLineEdit(self.layoutWidget)
>>         self.txtNombre.setStatusTip(_fromUtf8(""))
>>         self.txtNombre.setObjectName(_fromUtf8("txtNombre"))
>>         self.gridLayout.addWidget(self.txtNombre, 1, 1, 1, 4)
>>         self.label_3 = QtGui.QLabel(self.layoutWidget)
>>         self.label_3.setStatusTip(_fromUtf8(""))
>>         self.label_3.setObjectName(_fromUtf8("label_3"))
>>         self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
>>         self.txtDireccion = QtGui.QLineEdit(self.layoutWidget)
>>         self.txtDireccion.setStatusTip(_fromUtf8(""))
>>         self.txtDireccion.setObjectName(_fromUtf8("txtDireccion"))
>>         self.gridLayout.addWidget(self.txtDireccion, 2, 1, 1, 4)
>>         self.label_4 = QtGui.QLabel(self.layoutWidget)
>>         self.label_4.setStatusTip(_fromUtf8(""))
>>         self.label_4.setObjectName(_fromUtf8("label_4"))
>>         self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
>>         self.label_5 = QtGui.QLabel(self.layoutWidget)
>>         self.label_5.setStatusTip(_fromUtf8(""))
>>         self.label_5.setObjectName(_fromUtf8("label_5"))
>>         self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
>>         self.txtLocalidad = QtGui.QLineEdit(self.layoutWidget)
>>         self.txtLocalidad.setStatusTip(_fromUtf8(""))
>>         self.txtLocalidad.setObjectName(_fromUtf8("txtLocalidad"))
>>         self.gridLayout.addWidget(self.txtLocalidad, 4, 1, 1, 3)
>>         spacerItem = QtGui.QSpacerItem(148, 20,
>> QtGui.QSizePolicy.Expanding,
>>                                        QtGui.QSizePolicy.Minimum)
>>         self.gridLayout.addItem(spacerItem, 4, 4, 1, 1)
>>         self.label_6 = QtGui.QLabel(self.layoutWidget)
>>         self.label_6.setStatusTip(_fromUtf8(""))
>>         self.label_6.setObjectName(_fromUtf8("label_6"))
>>         self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
>>         self.cmbIVA = QtGui.QComboBox(self.layoutWidget)
>>         self.cmbIVA.setStatusTip(_fromUtf8(""))
>>         self.cmbIVA.setObjectName(_fromUtf8("cmbIVA"))
>>         self.cmbIVA.addItem(_fromUtf8(""))
>>         self.cmbIVA.setItemText(0, _fromUtf8("Consumidor Final"))
>>         self.cmbIVA.addItem(_fromUtf8(""))
>>         self.cmbIVA.setItemText(1, _fromUtf8("Exento"))
>>         self.cmbIVA.addItem(_fromUtf8(""))
>>         self.cmbIVA.setItemText(2, _fromUtf8("Monotributo"))
>>         self.cmbIVA.addItem(_fromUtf8(""))
>>         self.cmbIVA.setItemText(3, _fromUtf8("Resp. Inscripto"))
>>         self.gridLayout.addWidget(self.cmbIVA, 5, 1, 1, 2)
>>         spacerItem1 = QtGui.QSpacerItem(228, 20,
>> QtGui.QSizePolicy.Expanding,
>>                                         QtGui.QSizePolicy.Minimum)
>>         self.gridLayout.addItem(spacerItem1, 5, 3, 1, 2)
>>         self.label_7 = QtGui.QLabel(self.layoutWidget)
>>         self.label_7.setStatusTip(_fromUtf8(""))
>>         self.label_7.setObjectName(_fromUtf8("label_7"))
>>         self.gridLayout.addWidget(self.label_7, 6, 0, 1, 1)
>>         self.txtNCUIT = QtGui.QLineEdit(self.layoutWidget)
>>         self.txtNCUIT.setStatusTip(_fromUtf8(""))
>>         self.txtNCUIT.setObjectName(_fromUtf8("txtNCUIT"))
>>         self.gridLayout.addWidget(self.txtNCUIT, 6, 1, 1, 2)
>>         spacerItem2 = QtGui.QSpacerItem(228, 20,
>> QtGui.QSizePolicy.Expanding,
>>                                         QtGui.QSizePolicy.Minimum)
>>         self.gridLayout.addItem(spacerItem2, 6, 3, 1, 2)
>>         self.txtTelefono = QtGui.QLineEdit(self.layoutWidget)
>>         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
>>                                        QtGui.QSizePolicy.Fixed)
>>         sizePolicy.setHorizontalStretch(0)
>>         sizePolicy.setVerticalStretch(0)
>>         sizePolicy.setHeightForWidth(self.txtTelefono.
>>                                      sizePolicy().hasHeightForWidth())
>>         self.txtTelefono.setSizePolicy(sizePolicy)
>>         self.txtTelefono.setStatusTip(_fromUtf8(""))
>>         self.txtTelefono.setObjectName(_fromUtf8("txtTelefono"))
>>         self.gridLayout.addWidget(self.txtTelefono, 3, 1, 1, 3)
>>         self.txtNCuenta = QtGui.QLineEdit(self.layoutWidget)
>>         self.txtNCuenta.setStatusTip(_fromUtf8(""))
>>         self.txtNCuenta.setObjectName(_fromUtf8("txtNCuenta"))
>>         self.gridLayout.addWidget(self.txtNCuenta, 0, 1, 1, 2)
>>         spacerItem3 = QtGui.QSpacerItem(258, 20,
>> QtGui.QSizePolicy.Expanding,
>>                                         QtGui.QSizePolicy.Minimum)
>>         self.gridLayout.addItem(spacerItem3, 0, 3, 1, 2)
>>         self.layoutWidget1 = QtGui.QWidget(frmCliente)
>>         self.layoutWidget1.setGeometry(QtCore.QRect(10, 200, 451, 25))
>>         self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1"))
>>         self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget1)
>>         self.horizontalLayout.setMargin(0)
>>
>> self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
>>         self.cmdNuevo = QtGui.QPushButton(self.layoutWidget1)
>>         self.cmdNuevo.setObjectName(_fromUtf8("cmdNuevo"))
>>         self.horizontalLayout.addWidget(self.cmdNuevo)
>>         self.cmdBusca = QtGui.QPushButton(self.layoutWidget1)
>>         self.cmdBusca.setObjectName(_fromUtf8("cmdBusca"))
>>         self.horizontalLayout.addWidget(self.cmdBusca)
>>         self.cmdGraba = QtGui.QPushButton(self.layoutWidget1)
>>         self.cmdGraba.setObjectName(_fromUtf8("cmdGraba"))
>>         self.horizontalLayout.addWidget(self.cmdGraba)
>>         self.cmdBorra = QtGui.QPushButton(self.layoutWidget1)
>>         self.cmdBorra.setObjectName(_fromUtf8("cmdBorra"))
>>         self.horizontalLayout.addWidget(self.cmdBorra)
>>         self.label.setBuddy(self.txtNCuenta)
>>         self.label_2.setBuddy(self.txtNombre)
>>         self.label_3.setBuddy(self.txtDireccion)
>>         self.label_4.setBuddy(self.txtTelefono)
>>         self.label_5.setBuddy(self.txtLocalidad)
>>         self.label_6.setBuddy(self.cmbIVA)
>>         self.label_7.setBuddy(self.txtNCUIT)
>>
>>         self.retranslateUi(frmCliente)
>>         QtCore.QMetaObject.connectSlotsByName(frmCliente)
>>         frmCliente.setTabOrder(self.txtNCuenta, self.txtNombre)
>>         frmCliente.setTabOrder(self.txtNombre, self.txtDireccion)
>>         frmCliente.setTabOrder(self.txtDireccion, self.txtTelefono)
>>         frmCliente.setTabOrder(self.txtTelefono, self.txtLocalidad)
>>         frmCliente.setTabOrder(self.txtLocalidad, self.cmbIVA)
>>         frmCliente.setTabOrder(self.cmbIVA, self.txtNCUIT)
>>         frmCliente.setTabOrder(self.txtNCUIT, self.cmdNuevo)
>>         frmCliente.setTabOrder(self.cmdNuevo, self.cmdBusca)
>>         frmCliente.setTabOrder(self.cmdBusca, self.cmdGraba)
>>         frmCliente.setTabOrder(self.cmdGraba, self.cmdBorra)
>>
>>     def retranslateUi(self, frmCliente):
>>
>> frmCliente.setWindowTitle(QtGui.QApplication.translate("frmCliente",
>>                    "Dialog", None, QtGui.QApplication.UnicodeUTF8))
>>         self.label.setText(QtGui.QApplication.translate("frmCliente",
>>                    "Nº &Cuenta", None, QtGui.QApplication.UnicodeUTF8))
>>         self.label_2.setText(QtGui.QApplication.translate("frmCliente",
>>                    "&Nombre", None, QtGui.QApplication.UnicodeUTF8))
>>         self.label_3.setText(QtGui.QApplication.translate("frmCliente",
>>                    "&Dirección", None, QtGui.QApplication.UnicodeUTF8))
>>         self.label_4.setText(QtGui.QApplication.translate("frmCliente",
>>                    "&Teléfono", None, QtGui.QApplication.UnicodeUTF8))
>>         self.label_5.setText(QtGui.QApplication.translate("frmCliente",
>>                    "&Localidad", None, QtGui.QApplication.UnicodeUTF8))
>>         self.label_6.setText(QtGui.QApplication.translate("frmCliente",
>>                    "Cond. &IVA", None, QtGui.QApplication.UnicodeUTF8))
>>         self.label_7.setText(QtGui.QApplication.translate("frmCliente",
>>                    "Nº C&UIT", None, QtGui.QApplication.UnicodeUTF8))
>>         self.cmdNuevo.setText(QtGui.QApplication.translate("frmCliente",
>>                    "&Nuevo", None, QtGui.QApplication.UnicodeUTF8))
>>         self.cmdBusca.setText(QtGui.QApplication.translate("frmCliente",
>>                    "Busca", None, QtGui.QApplication.UnicodeUTF8))
>>         self.cmdGraba.setText(QtGui.QApplication.translate("frmCliente",
>>                    "Graba", None, QtGui.QApplication.UnicodeUTF8))
>>         self.cmdBorra.setText(QtGui.QApplication.translate("frmCliente",
>>                    "Borra", None, QtGui.QApplication.UnicodeUTF8))
>
> y a continuación la clase que lo despliega en el MDI:
>
>> from PyQt4 import QtGui, QtCore
>> import frmArticulo
>> import ctrlBuscarArt
>> import MySQLdb
>> from easygui import *
>> from general import *
>>
>>
>> try:
>>     _fromUtf8 = QtCore.QString.fromUtf8
>> except AttributeError:
>>     _fromUtf8 = lambda s: s
>>
>> """
>> codigo sql para crear la tabla articulos
>>
>> DROP TABLE IF EXISTS `Sistema`.`tblArticulos`;
>> CREATE TABLE  `Sistema`.`tblArticulos` (
>>   `Articulos_Id` int(10) unsigned NOT NULL,
>>   `Articulos_Descrip` varchar(100) NOT NULL,
>>   `Articulos_Rubro` int(10) unsigned NOT NULL,
>>   `Articulos_PrecioVenta` float NOT NULL DEFAULT '0',
>>   `Articulos_PrecioCompra` float NOT NULL DEFAULT '0'
>>   COMMENT 'precio de la ultima compra',
>>   PRIMARY KEY (`Articulos_Id`)
>> ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=1 ROW_FORMAT=DYNAMIC;
>>
>> """
>>
>>
>> class fichaArticulo(QtGui.QWidget, frmArticulo.Ui_Form):
>>
>>     Modo = "A"
>>     X = 0
>>     Y = 0
>>     wL = 0
>>     mydb = MySQLdb.connection(host="190.5.0.142", user="root",
>>                               passwd="raroca", db="Sistema")
>>
>>     def __init__(self, parent=None):
>>         super(fichaArticulo, self).__init__(parent)
>>         self.setupUi(self)
>>
>>         self.cmdNuevo.clicked.connect(self.Nuevo)
>>         self.connect(self.cmdGraba, QtCore.SIGNAL("clicked()"),
>> self.Graba)
>>         self.connect(self.cmdBorra, QtCore.SIGNAL("clicked()"),
>> self.Borra)
>>         self.connect(self.cmdBusca, QtCore.SIGNAL("clicked()"),
>> self.Busca)
>>         self.connect(self.txtID, QtCore.SIGNAL("returnPressed()"),
>>                      self.BuscaNCuenta)
>>         self.setWindowTitle("Carpeta de articulos - ALTAS*BAJAS*EDICION")
>>         self.cBCli = ctrlBuscarArt.ctrlBArticulos()
>>         self.cmdNuevo.setAutoDefault(False)
>>         self.cmdGraba.setAutoDefault(False)
>>         self.cmdBorra.setAutoDefault(False)
>>         self.cmdBusca.setAutoDefault(False)
>>         self.cBCli.connect(self.cBCli,
>>                            QtCore.SIGNAL("datovalido"),
>>                            self.datoValido)
>>         self.cBCli.connect(self.cBCli,
>>                            QtCore.SIGNAL("cancela"),
>>                            self.cierrabusqueda)
>>         self.cmdGraba.setEnabled(False)
>>         self.cmdBorra.setEnabled(False)
>>         #abro la base de datos
>>
>>         self.PosicionaForm()
>>
>>     def BuscaNCuenta(self):
>>         NC = str(self.txtNCuenta.text())
>>         if (NC != ""):
>>             #print str(NC)
>>             self.datoValido(NC)
>>         else:
>>             msgbox("Debe ingresar un numero de cuenta")
>>
>>     def cierrabusqueda(self):
>>         self.cBCli.hide()
>>
>>     def Nuevo(self):
>>         self.Limpia()
>>         self.cmdBorra.setEnabled(False)
>>         self.cmdBusca.setEnabled(False)
>>         self.cmdGraba.setEnabled(True)
>>         self.BuscaNuevoNCuenta()
>>         self.Modo = "A"
>>
>>     def Graba(self):
>>         if (self.Modo == "A"):
>>             if (self.ValidoDatosFormulario()):
>>                 if (boolbox
>>                    ('Seguro graba este registro en la base de datos')):
>>                     self.InsertaNuevo()
>>                     self.Limpia()
>>             else:
>>                 msgbox('No estan todos los datos requeridos')
>>         elif (self.Modo == "E"):
>>             self.ActualizaRegistro()
>>             self.Limpia()
>>
>>     def PosicionaForm(self):
>>         StrSQL = "SELECT * FROM tblSetupGUI "
>>         StrSQL = StrSQL + "WHERE SetupGUI_ventan = 'frmCliente'"
>>         self.mydb.query(StrSQL)
>>         r = self.mydb.store_result()
>>         cli = r.fetch_row(1)
>>         self.X = int(cli[0][2])
>>         self.Y = int(cli[0][3])
>>         #self.setGeometry(X, Y, 554, 271)
>>         self.setMinimumWidth(554)
>>         self.setMinimumHeight(271)
>>         self.move(self.X, self.Y)
>>         print str(self.X) + '   ' + str(self.Y)
>>
>>     def Borra(self):
>>         resp = boolbox("Seguro borra este registro?")
>>         if (resp == 1):
>>             ID = int(self.txtNCuenta.text())
>>             StrSQL = "DELETE FROM tblArticulos WHERE Articulos_Id =
>> %d" % (ID)
>>             self.mydb.query(StrSQL)
>>             self.Limpia()
>>
>>     def Busca(self):
>>         self.cBCli.show()
>>         self.cBCli.Busca(self.txtDescrip.text())
>>         self.Modo = "E"
>>
>>     def datoValido(self, Id):
>>         self.cBCli.hide()
>>         #busco el cliente en la base de datos
>>         self.mydb.query("SELECT * FROM tblArticulos WHERE Articulos_Id
>> = "
>>                         + str(Id))
>>         r = self.mydb.store_result()
>>         cli = r.fetch_row(1)
>>         #lo muestro
>>         self.txtID.setText(str(cli[0][0]))
>>         self.txtDescrip.setText(str(cli[0][1]))
>>         self.cmbRubro.setCurrentIndex(int(cli[0][2]))
>>         self.txtPV.setText(str(cli[0][3]))
>>         self.txtPC.setText(str(cli[0][4]))
>>         self.txtID.setReadOnly(True)
>>         self.cmdGraba.setEnabled(True)
>>         self.cmdBorra.setEnabled(True)
>>
>>     def Limpia(self):
>>         #borro el contenido de todos los textbox
>>         self.txtID.setText("")
>>         self.txtDescrip.setText("")
>>         self.txtPC.setText("")
>>         self.txtPV.setText("")
>>         #acomodo los botones
>>         self.cmdNuevo.setEnabled(True)
>>         self.cmdBusca.setEnabled(True)
>>         self.cmdGraba.setEnabled(False)
>>         self.cmdBorra.setEnabled(False)
>>
>>     def BuscaNuevoNCuenta(self):
>>         try:
>>             #busco el ultimo registro actual
>>             self.mydb.query("SELECT Articulos_Id FROM tblArticulos
>> ORDER BY" +
>>                         " Articulos_id DESC LIMIT 1")
>>             r = self.mydb.store_result()
>>             cli = r.fetch_row(1)
>>             nc = int(cli[0][0])
>>             #le sumo uno
>>             nc += 1
>>         except:
>>             #no hay clientes, agrego el cliente n 1
>>             nc = 1
>>         #lo ofresco como siguiente numero de cliente
>>         self.txtID.setText(str(nc))
>>         self.txtDescrip.setFocus()
>>
>>     def ValidoDatosFormulario(self):
>>         return ((self.txtDescrip.text() != "") and
>>                 (self.txtPV.text() != ""))
>>
>>     def InsertaNuevo(self):
>>         CatFiscal = 0
>>         StrSQL = "INSERT INTO tblArticulos (Articulos_Id ,
>> Articulos_Descrip, "
>>         StrSQL = StrSQL + "Articulos_PrecioVenta,
>> Articulos_PrecioCompra, "
>>         StrSQL = StrSQL + "Articulos_Rubro) "
>>         StrSQL = StrSQL + "VALUES ('%s', '%s', '%s', '%s', '%s')"
>>         StrSQL = StrSQL % (self.txtID.text(), self.txtDescrip.text(),
>>                            self.txtPV.text(), self.txtPC.text(),
>>                            CatFiscal)
>>         self.mydb.query(StrSQL)
>>
>>     def ActualizaRegistro(self):
>>         NCuenta = int(self.txtID.text())
>>         CF = int(self.cmbRubro.currentIndex())
>>         StrSQL = "UPDATE tblArticulos SET Articulos_Descrip = '%s', "
>>         StrSQL = StrSQL + "Articulos_PrecioVenta = '%s', "
>>         StrSQL = StrSQL + "Articulos_PrecioCompra = '%s', "
>>         StrSQL = StrSQL + "Articulos_Rubro = '%d' WHERE "
>>         StrSQL = StrSQL + "Articulos_Id = %d "
>>         #print str(CF) + "  " + str(NCuenta)
>>         StrSQL = StrSQL % (self.txtDescrip.text(),
>>                           self.txtPV.text(), self.txtPV.text(),
>>                           CF, NCuenta)
>>         self.mydb.query(StrSQL)
>
> No creo estar haciendo el reparenting, pero hay cosas que todavía se
> escapan a mi comprensión.
>
> Desde ya muchas gracias.
>
> Un abrazo
>
> Fer
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar




More information about the pyar mailing list