Ce que j'essaie de faire est d'avoir une table qui ne semble pas éditable directement mais qui peut être éditée dans un widget en dehors de la table. C'est-à-dire que le nœud sélectionné peut être édité ici, et tous les nœuds utilisent le même éditeur parce que je veux qu'il soit toujours affiché.Qt: déléguer à un seul éditeur
Ce que j'ai essayé est de sous-classe QItemDelegate et juste retourner l'instance de QTextEdit je l'ai déjà, comme ceci:
class Delegate extends QItemDelegate {
@Override
public QWidget createEditor(QWidget parent, QStyleOptionViewItem option, QModelIndex index) {
return qtextEdit;
}
}
qui fonctionne, sauf que lorsque vous quittez l'éditeur, il est détruit. Peut-être que le délégué n'est pas censé être utilisé de cette façon. Alors, comment puis-je y parvenir?
(ps. Im en utilisant le code Jambi mais C++ est très bien)
Avez-vous réimplémenter la fonction de membre closeEditor? Je pense que cette méthode est responsable de la suppression/suppression de l'éditeur –
Il n'existe pas de méthode closeEditor. Il y a un signal closeEditor donc je ne pense pas que celui-ci a quelque chose à voir avec ça. Et sa finale de toute façon, donc ça ne peut pas être outrepassé. – takoi
Je peux à peine comprendre Qt en Java. Je sais que c'est possible, mais il m'a fallu un * long * temps pour réaliser que c'était ce que c'était ... – ianmac45