1
我有一段代碼在我的應用程序如下:意外行爲
....
QStandardItemModel* authorModel = getAuthorModel(author);
// Create result tab
QTableView* tblView = new QTableView();
tblView->setModel(authorModel);
controller.queryAuthor(author, authorModel);
qDebug() << authorModel->setHeaderData(0, Qt::Horizontal, QVariant("Author Name"), Qt::DisplayRole);
qDebug() << authorModel->setHeaderData(1, Qt::Horizontal, QVariant("Author Id"), Qt::DisplayRole);
int tabIdx = ui->mainTabWidget->addTab(tblView, author);
ui->mainTabWidget->setCurrentIndex(tabIdx);
tblView->setColumnHidden(1, true);
該代碼多次調用創建不同tableviews。當authorModel爲空時,則設置headerdata失敗,並且setColumnHidden失敗,一旦填充數據,將顯示默認數字標題並顯示第1列。兩個qDebug語句都返回false。
然而,當同樣的人口模型被用來創建一個新的表視圖,在新的視圖列1沒有隱藏的問題,及標頭設置,因爲他們應該。兩個qDebug語句都返回true。
問題是什麼?如何緩解?
你試過authorModel-> setColumnCount(2)設置列標題時,模型是空的前設置? – Viv 2013-03-09 20:36:13
@Viv解決了它。非常感謝你。 – lorefnon 2013-03-09 21:22:33
您的歡迎:)發佈相同的答案,爲什麼這可以解決您的問題 – Viv 2013-03-09 21:46:24