Implement setData for QSqltable to be editable
This commit is contained in:
28
lib/gui.py
28
lib/gui.py
@@ -7,6 +7,7 @@ from db import addFineFilter
|
||||
import sysparse
|
||||
import sys
|
||||
import db as db
|
||||
from qsqlmod import SqlQueryModel_editable
|
||||
|
||||
DBFILE = "../db/sqlite3.db"
|
||||
|
||||
@@ -18,7 +19,6 @@ class ColorDelegate(QStyledItemDelegate):
|
||||
def initStyleOption(self,option,index):
|
||||
super().initStyleOption(option,index)
|
||||
data = index.data()
|
||||
|
||||
try:
|
||||
value = float(data)
|
||||
except:
|
||||
@@ -39,15 +39,13 @@ class ColorDelegate(QStyledItemDelegate):
|
||||
else:
|
||||
option.backgroundBrush = QtGui.QColor("white")
|
||||
|
||||
|
||||
|
||||
class ValidationWorker(QObject):
|
||||
finished = Signal()
|
||||
|
||||
def run(self):
|
||||
ret = db.isStillValid(DBFILE,0)
|
||||
if ret == 0:
|
||||
self.finished.emit()
|
||||
|
||||
class Worker(QObject):
|
||||
pwprompt = Signal()
|
||||
pw = Signal(str)
|
||||
@@ -84,11 +82,16 @@ class MainWindow(QMainWindow):
|
||||
|
||||
self.EditQuery = QLineEdit()
|
||||
self.EditQuery.returnPressed.connect(self.queryEditLine)
|
||||
|
||||
editables = {0 : ("UPDATE jobs SET star = '{}' WHERE hash = '{}'",7)}
|
||||
self.model = SqlQueryModel_editable(editables)
|
||||
#self.model.setTable("jobs")
|
||||
#self.model.setEditStrategy(QSqlTableModel.OnFieldChange)
|
||||
#self.model.select()
|
||||
|
||||
self.model = QSqlTableModel(self)
|
||||
self.model.setTable("jobs")
|
||||
self.model.setEditStrategy(QSqlTableModel.OnFieldChange)
|
||||
self.model.select()
|
||||
#self.proxymodel2 = QSortFilterProxyModel(self)
|
||||
#self.proxymodel2.setSourceModel(self.model)
|
||||
#self.proxymodel2.setTable("jobs")
|
||||
|
||||
self.view = QTableView()
|
||||
self.view.setModel(self.model)
|
||||
@@ -216,14 +219,15 @@ class MainWindow(QMainWindow):
|
||||
|
||||
def customSQL(self,cmd):
|
||||
print("Run SQL Query",cmd)
|
||||
self.model.setTable("")
|
||||
#self.model.setTable("")
|
||||
self.model.setQuery(cmd +" ;")
|
||||
#self.model.setTable("jobs")
|
||||
|
||||
#self.proxymodel2 = QSortFilterProxyModel(self)
|
||||
#self.proxymodel2.setSourceModel(self.model)
|
||||
self.view.setModel(self.model)
|
||||
self.proxymodel2 = QSortFilterProxyModel(self)
|
||||
self.proxymodel2.setSourceModel(self.model)
|
||||
self.view.setModel(self.proxymodel2)
|
||||
self.setProxyViewSettings()
|
||||
self.view.show()
|
||||
class PWPrompt(QDialog):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
Reference in New Issue
Block a user