[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