Hallo zusammen,
habe ein Fibu Programm mit einer Kontenauswahl im rechten Teil des Bildschirms, für die QListView verwendet wurde.
Jedes Mal, wenn auf ein Konto dieser Liste geklickt wird, passiert in den anderen Fenstern irgendetwas (Konto darstellen, Kontonummer eintragen usw.).
Das habe ich mit
kontenplanV = new QListView( this );
kontenplanV->setFont( courierFont );
kontenplanV->setAlternatingRowColors ( true );
kontenplanV->setEditTriggers ( QAbstractItemView::NoEditTriggers );
kontenplanV->setGeometry(x(1024-310),y(30),x(300),y(690));
connect( kontenplanV, SIGNAL( customContextMenuRequested ( QPoint ) ), this, SLOT( menuListeKonten() ) );
connect( kontenplanV, SIGNAL( clicked ( const QModelIndex & ) ), this, SLOT( zeigeKontoblatt( const QModelIndex & ) ) );
kontenplanV->setContextMenuPolicy ( Qt::CustomContextMenu );
erfolgreich realisiert.
Beim Mausklick aufein Konto wird dieses blau markiert und das Signal wird erfolgreich weitergeben (s.o.).
Ich möchte aber nun, dass auch beim Wechsel der Markierung mittels Pfeiltasten für das gerade markierte Konto ebenso ein Signal ausgegeben wird.
Ich hatte vorher ein QTableWidget genommen, dort konnte man das mit currentCellChanged einfach realisieren.
Geht das mit QListView nicht mehr? Muss man dafür nachträglich ein Signal einbauen? Es gibt dort einen currentChanged ( const QModelIndex &, const QModelIndex & ), dies ist aber ein slot.
Vielen Dank für hilfreiche Hinweise.
QListView, fehlende Signale?
Re: QListView, fehlende Signale?
Einfach eine eigene Klasse von QListView ableiten, den Slot überschreiben und ein eigenes Signal rausschicken.qtjogi hat geschrieben:Es gibt dort einen currentChanged ( const QModelIndex &, const QModelIndex & ), dies ist aber ein slot.
Vielen Dank für hilfreiche Hinweise.
Ciao,
Sephral
Ich würds mal mit diesem Signal probieren:
Code: Alles auswählen
void QItemSelectionModel::currentChanged ( const QModelIndex & current, const QModelIndex & previous ) QListView, fehlende Signale
Ich habs schon vermutet, dass man das Signal in einer abgeleiteten Klasse hinzufügen muss. Mit currentChanged ( const QModelIndex & current, const QModelIndex & previous ) müsste ich das Programm in weiten Teilen neu schreiben, da lt. Hinweis aus dem QT-Assistant:
If you need a model to use with a QListView or a QTableView, you should consider subclassing QAbstractListModel or QAbstractTableModel instead of this class.
ich für das Modell die Klasse QAbstractListModel genommen habe, die ein solches Signal nicht enthält.
Vielen Dank für eure Hinweise.
If you need a model to use with a QListView or a QTableView, you should consider subclassing QAbstractListModel or QAbstractTableModel instead of this class.
ich für das Modell die Klasse QAbstractListModel genommen habe, die ein solches Signal nicht enthält.
Vielen Dank für eure Hinweise.