Hi,
die Suchefunktion hat leider nichts zu meinen Problem gebracht.
Ich hab ein QTableWidget und möchte die Zeilen, die ich ausgewählt habe löschen.
Ein kleiner teil des Codes:
QPushButton *remove = new QPushButton(tr("Zeile entfernen"), this);;
connect(removeRow, SIGNAL(clicked()), this, SLOT(removeItem()));
void MyWidget::removeItem()
{
int row =table->rowCount();
table->removeRow(row-1);
}
so würde er nur die letzte Zeile löschen, jedoch möchte ich, das alle Zeilen die per Mausklick ausgewählt wurden gelöscht werden, bietet mir diese Möglichkeit nur QTableView?
[gelöst]TableWidget Zeile durch Auswahl löschen
[gelöst]TableWidget Zeile durch Auswahl löschen
Zuletzt geändert von QtNoob am 9. Oktober 2007 11:34, insgesamt 1-mal geändert.
removeRow(int); Wie Du an die Nummer der Zeile kommst, ist eine andere Sache. Solltest Du aber in der Doku finden.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
das ist es ja, hab in der doku überall gesucht, krieg schon kopfschmerzen vor lauter suchemacman hat geschrieben:removeRow(int); Wie Du an die Nummer der Zeile kommst, ist eine andere Sache. Solltest Du aber in der Doku finden.
if (row.isSelected)
{
table->removeRow();
}
naja sowas, ist nur ein improvisierbeispiel^^, die zeilen funktionieren natürlich ganz nicht(so ein code ist auch unmöglich
QList<QTableWidgetItem *> QTableWidget::selectedItems ()
http://doc.trolltech.com/4.3/qtablewidg ... ectedItems
int QTableWidget::row ( const QTableWidgetItem * item ) const
http://doc.trolltech.com/4.3/qtablewidget.html#row
Reicht das?
http://doc.trolltech.com/4.3/qtablewidg ... ectedItems
int QTableWidget::row ( const QTableWidgetItem * item ) const
http://doc.trolltech.com/4.3/qtablewidget.html#row
Reicht das?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
ich werd mal das ausprobieren, falls ich fortschritte gemacht habe, meld ich mich 
/edit
anders gelöst, hab doch noch was im forum gefunden
void MyWidget::removeItem()
{
QModelIndexList indexList = table->selectionModel()->selectedIndexes();
QListIterator<QModelIndex> indexIt(indexList);
indexIt.toBack();
while(indexIt.hasPrevious())
{
QModelIndex index = indexIt.previous();
if(index.column() == 0) table->removeRow(index.row());
}
}
/edit
anders gelöst, hab doch noch was im forum gefunden
void MyWidget::removeItem()
{
QModelIndexList indexList = table->selectionModel()->selectedIndexes();
QListIterator<QModelIndex> indexIt(indexList);
indexIt.toBack();
while(indexIt.hasPrevious())
{
QModelIndex index = indexIt.previous();
if(index.column() == 0) table->removeRow(index.row());
}
}