QT,从其他类访问所有数据
我用QT设计器选择了一个类“a”。文件A.ui包含一个TableView。 我的问题是: 我不想在类A中做所有的处理(traitement),我想创建另一个类B,从而进行其他处理。这种处理方法是在Tableview(A类)中显示数据。 我可以从另一个B类访问TableView中的所有数据吗QT,从其他类访问所有数据,qt,Qt,我用QT设计器选择了一个类“a”。文件A.ui包含一个TableView。 我的问题是: 我不想在类A中做所有的处理(traitement),我想创建另一个类B,从而进行其他处理。这种处理方法是在Tableview(A类)中显示数据。 我可以从另一个B类访问TableView中的所有数据吗 //A.h QStandardItemModel *table; //A.cpp table = new QStandardItemModel(10,2,this); //2 Rows and 3 Colu
//A.h
QStandardItemModel *table;
//A.cpp
table = new QStandardItemModel(10,2,this); //2 Rows and 3 Columns
tables->setHorizontalHeaderItem(0, new QStandardItem(QString("Number")));
table->setHorizontalHeaderItem(1, new QStandardItem(QString("Name")));
ui->tableView->setModel(table);
//B.cpp
QAbstractItemModel* tableI= ui->tableView->model();
int iRows = tableI->rowCount();
table->setItem(0,0,new QStandardItem("100");
table->setItem(0,1,new QStandardItem("Name 1");
您可以添加公共成员函数以从其他类访问表视图:
QTableView* A::table_view() {
return ui->tableView;
}
它工作得很好,但当我想设置一些数据时,它就不工作了!!具体点。“设置一些数据”是什么意思?发布一些代码。没有方法
qabstractemmodel::setItem
。也许你应该改用QStandardItemModel
。使用static\u cast
对其进行转换。它不是表I,而是在A.QTableView中声明的表也没有setItem
方法。请阅读文档。