Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » KDevelop / Qt / wxWidget » Textänderung im TreeWidget abfangen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.09.2007, 11:12 Uhr
~Sash
Gast


Hi,

ich hab wieder mal n kleines Problem. Und zwar geht es um folgendes. Ich habe ein QTreeWidget - Objekt, in dem nur bestimmte Felder editierbar sein sollen. Ich habe schon versucht einfach die Eigenschaften der jeweilgen Felder mittels der Funktion itemAt(zeile,spalte)->setFlags(flags) entsprechend zu setzen. Die brachte jedoch nicht das gewünschte Ergebnis, da die gesetzen Flags für die gesamte Zeile und nicht für die jeweilige Spalte gelten.
Ich habe mir überlegt den Input der von der Tastatur kommt einfach abzufangen, wobei überprüft wird, in welcher Spalte sich der Curser gerade befindet.
Hierzu hab ich als erstes mein TreeWidget mittels des Signals itemActivated(...) mit einem Slot verbunden, der die aktuell aktivierte Spaltennummer speichert. Jetzt müsste ich ja eigentlich nur noch den Event abfangen. Jedoch hab ich wirklihc üüberhaupt keine ahnung wie ich das machen soll. Kann mir jemand von euch vllt n paar tips geben? Schonmal vielen Dank im voraus.

Gruß
Sascha
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.09.2007, 10:19 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Hey,

am besten benutzt du QStandardItemModel mit QTreeView. Die einzelnen QStandardItem's kannst du dann mit setEnabled(bool) ansprechen. Ich hab das in einen projekt von mir auch gemacht. Du kannst dann in dem QTreeView das Signal


Code:
void QAbstractItemView::doubleClicked ( const QModelIndex & index )


Abfangen und mit index.model() und index.data() arbeiten. Da hast du schonmal die Daten, wie es vor der Änderung war, musst du halt irgendwo zwischenspeichern.

Dann musst du im Model das Signal

Code:
void QAbstractItemModel::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight )

abfangen. So hast du die alten Daten und die neuen. Was du damit machst, ist dann dein Ding
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ KDevelop / Qt / wxWidget ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: