C++,在QTableWidget中添加/删除行

Seg*_*las 1 c++ qt4 qtablewidget

我正在创建一个带有表格和"添加行"按钮的简单应用程序.使用Qt Creator我以为我可以这样做:

QObject::connect(ui->addRowButton, SIGNAL(clicked()),
                     ui->moneyTableWidget, SLOT(insertRow(1)));
Run Code Online (Sandbox Code Playgroud)

但我不能.我对Qt很新,我可能错了,但认为问题是insertRow不是QTableWidget的SLOT方法...

如何实现行插入?

nc3*_*c3b 6

在行的方法中插入行.试试这个

class TableDialog : public QDialog
{
    Q_OBJECT
public:
    TableDialog(QWidget *parent = 0);
private slots:
    void addRow();
private:
    QTableWidget *tableWidget;
    QDialogButtonBox *buttonBox;
};
Run Code Online (Sandbox Code Playgroud)

和(部分)实施:

TableDialog::TableDialog(QWidget *parent) : QDialog(parent) {
tableWidget = new QTableWidget(10, 2);
/* ..... */
connect(addRowButton, SIGNAL(clicked()), this, SLOT(addRow()));

/* ..... */
}

void TableDialog::addRow() {
    int row = tableWidget->rowCount();
    tableWidget->insertRow(row);
/* ..... */
}
Run Code Online (Sandbox Code Playgroud)