for(int i=0; i<page.size(); i++){
User user= Poco::AnyCast<User>(*it);
ui.table->setItem(i,0,new QTableWidgetItem(user.userName));
ui.table->setItem(i,1,new QTableWidgetItem(user.sex));
ui.table->setItem(i,2,new QTableWidgetItem(user.age));
QPushButton* btn_edit = new QPushButton();
btn_edit = new QPushButton();
btn_edit->setText("Edit");
ui.table->setCellWidget(i,3,(QWidget*)btn_edit);
++it;
}
ich eine QPushButton in die Zelle mit der Funktion setCellWidget(), ich weiß, wenn es einen QTableWidgetItem ist, kann ich hinzufügen machen verwenden :eine QPushButton in eine QTableWidgetItem in einem QTableWidget hinzufügen, wie es QT :: AlignHCenter
ui.table->item(0,3)->setTextAlignment(QT::AlignHCenter)
Aber es ist ein Widget,
QTableWidgetItem item = ui.table->item(0,3);
das Element ist null.
Ich kann die Zelle erhalten durch Verwendung
ui.table->cellWidget(0,3).
Wie soll ich die Schaltfläche in der Zelle zentriert tun, um? Vielen Dank!
Sie haben Speicherleck hier: 'QPushButton * btn_edit = new QPushButton(); btn_edit = new QPushButton(); '(weil dieser Code zwei Schaltflächen zugewiesen hat, aber nur die zweite verwendet) – Ilya
@Ilya ok, das ist ein Fehler ...... Danke! –