繁体   English   中英

QTableWidget :: setItem上的Qt4 SegmentationFault

[英]Qt4 SegmentationFault on QTableWidget::setItem

我这里有一个很奇怪的问题。 将项目设置为表格时,我的程序为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() table->setItem( ... )newSlot()了分段错误。 我在某个导致这个烂摊子的地方犯了一些愚蠢的错误吗? 'Coz,我在其他地方使用完全相同的代码,没有任何问题。

您必须指定列数:

table->setColumnCount( 2 );

去做

table->setItem( table->rowCount() - 1, 0, new QTableWidgetItem( "something" ) );
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM