CurrentRow in QListWidget
Verfasst: 19. August 2012 20:49
Hallo,
ich habe ein Problem mit einem QListWidget. Ich lade aus einer MySQL Datenbank Einträge und importiere diese als Checkbox. Beim importieren speicher ich mir die id des DS, Position und erstelle einen Flag, ob das item angeklickt wurde.
Soweit funktioniert das. Jetzt Verbinde ich die Liste
Das Problem ist, das die cur_row variable nur beschrieben wird, wenn man auf das Element klickt. Klickt man direkt auf das Kontrollkästchen wird die Zeile nicht geändert!
Kann mir bitte jemand helfen, das Problem zu beheben? Vielen Dank
ich habe ein Problem mit einem QListWidget. Ich lade aus einer MySQL Datenbank Einträge und importiere diese als Checkbox. Beim importieren speicher ich mir die id des DS, Position und erstelle einen Flag, ob das item angeklickt wurde.
Code: Alles auswählen
while (query.next())
{
QListWidgetItem* item = new QListWidgetItem;
item->setText(query.value(0).toString());
item->setCheckState(Qt::Unchecked);
genrelistWidget->addItem(item);
temp.changed = false;
temp.id = query.value(1).toInt();
temp.position = i;
id_genre_list.push_back(temp);
i++;
}
Code: Alles auswählen
connect(genrelistWidget,SIGNAL(itemChanged(QListWidgetItem*)),this,SLOT(genre_changed(QListWidgetItem*)));
...
void EditDialog::genre_changed(QListWidgetItem* your_item)
{
QMessageBox::information(0,"item changed","test ob der slot funktioniert");
int cur_row = genrelistWidget->currentRow(); // cur_pos.row();
// hier tritt der fehler auf
QString temp_text;
temp_text = temp_text.setNum(cur_row);
QMessageBox::information(0,"flag in der Zeile wird gewechselt",temp_text);
}
Kann mir bitte jemand helfen, das Problem zu beheben? Vielen Dank