Ich habe bereits eine Baummodellansicht, die Spalten mit einer Beschriftung, Textbearbeitung und einer Prüfschaltfläche enthält. Was ich hinzufügen möchte, ist ein Druckknopf. Hier ist, wo ich bin stecken:QPushButtons in einer Spalte einer Treeview
- In der „Flags“ Funktion, die Namespace verwendet werden?
- In der "Daten" -Funktion, was wäre die Rolle des Druckknopfes? (zum Beispiel in der Check-Button-Fall habe ich die
Qt::CheckStateRole
) - In der "Daten" -Funktion (die eine
QVariant
zurückgibt) was soll ich zurück? Die Schaltfläche erstellt?
Ich habe andere Antworten zu diesem Thema und die beliebteste Antwort mit einem setIndexWidget
vorgeschlagen, aber ich bin mir nicht sicher, wie. Letzte Anmerkung: Ich versuche dies programmgesteuert zu tun, ohne den UI-Designer zu verwenden.
Vielen Dank!
Da Sie erwähnt haben, dass ich das QAbstractItemModel verwenden sollte, wäre ich in der Lage, es zu implementieren, ohne mein aktuelles MTreeModel neu zu schreiben? –
QAbstractItemModel ist die Basisklasse für alle Modellklassen, daher bin ich mir ziemlich sicher, dass Ihr MTreeModel QAbstractItemModel erbt und daher alles, was ich für QAbstractItemModel gesagt habe, auch für MTreeModel gilt. –
Danke, ich denke, ich habe jetzt ein besseres Verständnis. Ich bin mir nicht ganz sicher, was das Problem in diesem Fehler ist, den ich empfange: Rückgabewert entspricht nicht dem Funktionstyp QWidget colorDelegate :: * createEditor (QWidget * übergeordnetes, const QStyleOptionViewItem & option, const QModelIndex & index) { \t QPushButton * button = neue QPushButton (const_cast (Eltern)); \t button-> setText ("Push"); \t Rücktaste; } –