Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/03/2012, 23:54
Onsterion
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Python 3 + PyQt4 ¿Propiedad NoEditTriggers para una sola columna?

Primero no creo que valla ser muy popular en un post donde pongo que no se hacer algo y que soy nuevo en python, si lo hago es por que paso más de un día y no veo otra respuesta viendo que hay gente que sabe como vos.

Segundo puse un código de ejemplo del select usando el tablemodel, pense que era agregar algún atributo como .hideColumn(5)

Pregunta vos importas =>

Código:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtSql import *
Yo lo importo

Código:
from PyQt4 import QtCore, QtGui, QtSql
no es lo mismo? o como es el tema?


Ahora segun el ejemplo lo arme quedando asi:

Código:
    def warehouse_ejecutar_query_ver_items(self):
        self.ventana.data_base.open()
        winsound.PlaySound("SystemAsterisk", winsound.SND_ASYNC)
        self.ventana.var_select_model = QtSql.QSqlTableModel(self) 
        self.ventana.var_select_model.flags = self.flags
      self.ventana.var_select_model.setEditStrategy(QSqlTableModel.OnRowChange)
        self.ventana.var_select_model.setTable('items')
        self.ventana.var_select_model.select()
        self.ventana.var_select_model.setHeaderData(0, QtCore.Qt.Horizontal, "ID")
        self.ventana.var_select_model.setHeaderData(1, QtCore.Qt.Horizontal, "Nombre")
        self.ventana.var_select_model.setHeaderData(2, QtCore.Qt.Horizontal, "Cantidad")
        self.ventana.var_select_model.setHeaderData(3, QtCore.Qt.Horizontal, "Precio")
        self.ventana.var_select_model.setHeaderData(4, QtCore.Qt.Horizontal, "Ultima Modificación")
        self.ventana.var_select_model.setHeaderData(5, QtCore.Qt.Horizontal, "IP")
        self.ventana.tableView_ver_items.setModel(self.ventana.var_select_model)
        self.ventana.tableView_ver_items.hideColumn(5)
        
    def flags(self, idx):
        self.ventana.baseflags = QAbstractTableModel.flags(self.ventana.var_select_model, idx)
        if idx.column() == 1:
            return self.ventana.baseflags | Qt.ItemIsEditable
        else:
            return self.ventana.baseflags
Y ahora todas las casillas con números (INT) no son más editables y los "VARCHAR" si me los deja editar, habria alguna forma de espesificarle que solo afecte a la primer columna?



Gracias por la ayuda
__________________
Página Principal: http://www.almightysystem.com.ar/