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;
}
tôi thêm một QPushButton vào tế bào với chức năng setCellWidget(), tôi biết, nếu đó là một QTableWidgetItem, tôi có thể sử dụng :Thêm một QPushButton thành một QTableWidgetItem trong một QTableWidget, Làm thế nào để làm cho nó QT :: AlignHCenter
ui.table->item(0,3)->setTextAlignment(QT::AlignHCenter)
Nhưng nó là một widget,
QTableWidgetItem item = ui.table->item(0,3);
mục là null.
Tôi có thể lấy tế bào bằng cách sử dụng
ui.table->cellWidget(0,3).
Làm thế nào tôi nên làm gì để làm cho các nút trung tâm trong tế bào? Cảm ơn bạn!
Bạn có rò rỉ bộ nhớ đây: 'QPushButton * btn_edit = new QPushButton(); btn_edit = new QPushButton(); '(bởi vì mã này được phân bổ một cặp nút, nhưng chỉ sử dụng thứ hai của chúng) – Ilya
@ Ilya alright, đó là một sai lầm …… cảm ơn bạn! –