0
我在部署qt應用程序時遇到問題。當我將它部署在我的機器上(Win 8)QTableView通常顯示(列和行,標題和所有)On my machine,但是當我嘗試在不同的電腦上運行它(Win 7)On another machine時,表視圖中甚至沒有任何標題列和行,只有當我添加新行時,它會顯示新行(*)的符號。應用程序有目錄中的庫:Qt5Core.dll Qt5Widgets.dll Qt5Gui.dll Qt5Sql.dll libgcc_s_dw2-1.dll libstdC++ - 6.dll libwinpthread-1.dllQTableView在不同的機器上無法正常顯示
我試圖重新編譯它(與MinGW)和再次複製庫。但它沒有幫助。
一些代碼:
database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName(QCoreApplication::applicationDirPath() + "/dennik.db");
if(database.open()){
ui->status->setText("DB is open");
} else {
qDebug() << "Error while loading database";
}
model = new QSqlTableModel(this);
model->setTable("dennik");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->setSort(0, Qt::AscendingOrder);
model->select();
model->setHeaderData(0, Qt::Horizontal, tr("Datum"));
model->setHeaderData(1, Qt::Horizontal, tr("Prichod1"));
model->setHeaderData(2, Qt::Horizontal, tr("Odchod1"));
model->setHeaderData(3, Qt::Horizontal, tr("Prichod2"));
model->setHeaderData(4, Qt::Horizontal, tr("Odchod2"));
model->setHeaderData(5, Qt::Horizontal, tr("C_HOD"));
model->setHeaderData(6, Qt::Horizontal, tr("OP_HOD"));
connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)), this, SLOT(updateOP()));
ui->table->horizontalHeader()->setStretchLastSection(true);
ui->table->setItemDelegateForColumn(0, new DateDelegate(this));
ui->table->setItemDelegateForColumn(1, new TimeDelegate(1, model, this));
ui->table->setItemDelegateForColumn(2, new TimeDelegate(2, model, this));
ui->table->setItemDelegateForColumn(3, new TimeDelegate(3, model, this));
ui->table->setItemDelegateForColumn(4, new TimeDelegate(4, model, this));
ui->table->setModel(model);
ui->table->setColumnWidth(1, 70);
ui->table->setColumnWidth(2, 70);
ui->table->setColumnWidth(3, 70);
ui->table->setColumnWidth(4, 70);
ui->table->setColumnWidth(5, 60);
ui->table->show();
我怎樣才能使它發揮作用?也許另一個編譯器
您需要顯示一些代碼,或者最好是[mcve](http://stackoverflow.com/help/mcve)。 –
@ G.M。一些代碼已上傳 –