我这里有一个非常奇怪的问题。当我将项目设置为表格时,我的程序为SegmentationFault
。这是我的代码。
部首:
class Program : public QMainWindow {
Q_OBJECT
public:
Program();
private:
QTableWidget *table;
private slots:
void newSlot();
}
Cpp文件:
Program::Program() : QMainWindow() {
....
....
....
....
table = new QTableWidget();
table->setRowCount( 0 );
table->setColumnCount( 2 );
....
....
....
}
void Program::newSlot() {
....
....
....
table->insertRow( table->rowCount() );
table->setItem( table->rowCount() - 1, 0, new QTableWidgetItem( "something" ) );
table->setItem( table->rowCount() - 1, 1, new QTableWidgetItem( "something" ) );
....
....
....
}
问题是当程序到达table->setItem( ... )
中的newSlot()
时,我遇到了分段错误。我在某个地方犯了一些愚蠢的错误导致了这个烂摊子吗? '因为我在其他地方使用了完全相同的代码而没有任何问题。
答案 0 :(得分:1)
您必须指定列数:
table->setColumnCount( 2 );
要做
table->setItem( table->rowCount() - 1, 0, new QTableWidgetItem( "something" ) );
...