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