Implement deleting glyphs.
This commit is contained in:
parent
cf8575152e
commit
8a875d90bd
1 changed files with 22 additions and 1 deletions
|
|
@ -64,13 +64,34 @@ class GlyphDBModel(QAbstractTableModel):
|
|||
elif role == Qt.DecorationRole:
|
||||
return self.get_image(key)
|
||||
|
||||
def removeRows(self, row, count, parent=None):
|
||||
self.beginRemoveRows(parent, row, row + count - 1)
|
||||
|
||||
keys = self.keys[row: row + count]
|
||||
for key in keys:
|
||||
del self.glyphdb[key]
|
||||
del self.keys[row]
|
||||
|
||||
self.endRemoveRows()
|
||||
return True
|
||||
|
||||
|
||||
class GlyphTableView(QTableView):
|
||||
def keyPressEvent(self, event):
|
||||
if event.key() == Qt.Key_Delete:
|
||||
print('delete')
|
||||
for index in self.selectedIndexes():
|
||||
self.model().removeRow(index.row())
|
||||
else:
|
||||
return super().keyPressEvent(event)
|
||||
|
||||
|
||||
def main(argv):
|
||||
dirname = argv[1]
|
||||
|
||||
app = QApplication(argv)
|
||||
glyphdb = GlyphDB(dirname)
|
||||
view = QTableView()
|
||||
view = GlyphTableView()
|
||||
model = GlyphDBModel(glyphdb, parent=view)
|
||||
view.setModel(model)
|
||||
view.resize(640, 480)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue