我这里有一个很奇怪的问题。将项目设置为表格时,我的程序为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()
时,出现了分段错误。我在某个导致这个烂摊子的地方犯了一些愚蠢的错误吗? 'Coz,我在其他地方使用完全相同的代码,没有任何问题。 最佳答案
您必须指定列数:
table->setColumnCount( 2 );
去做
table->setItem( table->rowCount() - 1, 0, new QTableWidgetItem( "something" ) );
...
关于c++ - QTableWidget::setItem上的Qt4 SegmentationFault,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15682001/