Quantcast
Channel: Installation and Deployment
Viewing all articles
Browse latest Browse all 22112

solved: QTabObject with QTableWidgetItem crash on delete

$
0
0
Hello, I have QTab object and in one tab, i have QTable on it. When the form unloads, it crashes. The form is called from main as pointer my h file #ifndef REPORTWIN_H #define REPORTWIN_H   #include <QDialog> #include "tmain.h" //1 #include <QCloseEvent>     namespace Ui { class reportwin; }   class reportwin : public QDialog {     Q_OBJECT     public:     explicit reportwin(QWidget *parent = 0);     ~reportwin();     TMain *mainparentform; //2   protected:     void closeEvent(QCloseEvent *event); //3   private slots:     private:     Ui::reportwin *ui;     void preparegraph(int graphtype);     void initializeModel(QSqlTableModel *model);     QPointer <QTableWidget> table;     QHBoxLayout *layout;   };   #endif // REPORTWIN_H here is how i create the table     layout=new QHBoxLayout(this);     table = new QTableWidget(rows, cols, this);     QStringList Header;     Header << " Date & Time" << " Number " << " Average Typing Speed " << " % Correct " << " % completed";     for (int r=0; r<rows; ++r)     {     for (int c = 0; c < cols; ++c)     {         QString character = Header.at(c);         table->setHorizontalHeaderItem(c, new QTableWidgetItem(character));           QTableWidgetItem *dateitem = new QTableWidgetItem();         dateitem->setText(practisedata.datestring.at(r));         table->setItem( r, 0, dateitem );         QTableWidgetItem *number = new QTableWidgetItem( practisedata.log1_practisetestnumber.at(r));         table->setItem( r, 1, number )       }     }     table->setItemPrototype(table->item(rows -1, cols - 1));     table->setGeometry(QRect(55,90,660,300));     //table->show();     layout->addWidget(table);     this->ui->Training_tab1->setLayout(layout); here is my main file        QPointer <reportwin> report = new reportwin(0);         report->mainparentform=this;           //report->deleteLater();         this->hide();         report->exec();         report->done(1);   //        //delete report; // still not working, data still exist even after call //        QObjectCleanupHandler *cleaner=new QObjectCleanupHandler; //        cleaner->add(report); //        cleaner->deleteLater();           qDebug() << " exit report" << report.isNull(); I tried delete later but it crashes, i tried the object cleaner but same result. I tried to delete the pointer but the same. I understand from the QT crash report that it has difficulty deleting the QTab or the QTableWidget Any help is appreciated

Viewing all articles
Browse latest Browse all 22112

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>