Fügen Sie ein QPushButton in einem QTableWidgetItem in einem QTableWidget, Wie man es von Qt::AlignHCenter

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;
}

Füge ich ein QPushButton in die Zelle mit der Funktion setCellWidget(),
Ich weiß, wenn es ein QTableWidgetItem, die ich verwenden kann :

ui.table->item(0,3)->setTextAlignment(QT::AlignHCenter)

Aber es ist ein Widget,

QTableWidgetItem item = ui.table->item(0,3); 

dem Element null ist.

Bekomme ich die Zelle, die durch die Nutzung

ui.table->cellWidget(0,3).

Wie soll ich tun, damit die Schaltfläche zentriert in der Zelle?

  • Sie haben Speicherverlust hier: QPushButton* btn_edit = new QPushButton(); btn_edit = new QPushButton(); (da dieser code zugeteilt paar von Schaltflächen, sondern verwenden Sie nur die zweite von Ihnen)
  • okay, das ist ein Fehler...... danke!!!
InformationsquelleAutor zack chen | 2014-07-23
Schreibe einen Kommentar