C++ 如何将qdate添加到qtableview
我想将C++ 如何将qdate添加到qtableview,c++,qt,qtableview,qdatetime,C++,Qt,Qtableview,Qdatetime,我想将Qdate添加到我的表中,比如说QTableview。问题是如果我将其转换为字符串,我可以添加和检索数据。但我只想在模型中存储为日期 void MainWindow::setUpTabel() { QDateTime myDate; myDate.setDate(QDate::currentDate()); //myModel QStandardItemModel model = new QStandardItemModel(this); QStandard
Qdate
添加到我的表中,比如说QTableview
。问题是如果我将其转换为字符串,我可以添加和检索数据。但我只想在模型中存储为日期
void MainWindow::setUpTabel()
{
QDateTime myDate;
myDate.setDate(QDate::currentDate());
//myModel
QStandardItemModel model = new QStandardItemModel(this);
QStandardItem *item = new QStandardItem;
item.setData(myDate,Qt::UserRole);
//Myview is also created and set the model to it
m_tableView->setModel(model);
}
问题是我无法在表中看到日期。如文档所述,必须将项目设置到模型中,指定要设置项目的行和列 修改您的代码:
void MainWindow::setUpTabel()
{
int row = 0, column = 0; // here you decide where is the item
QDateTime myDate;
myDate.setDate(QDate::currentDate());
QStandardItemModel model = new QStandardItemModel(this);
QStandardItem *item = new QStandardItem(myDate);
model.setItem(row, column, item);
m_tableView->setModel(model);
}
如文档所述,必须将项设置到模型中,指定要在其中设置项的行和列 修改您的代码:
void MainWindow::setUpTabel()
{
int row = 0, column = 0; // here you decide where is the item
QDateTime myDate;
myDate.setDate(QDate::currentDate());
QStandardItemModel model = new QStandardItemModel(this);
QStandardItem *item = new QStandardItem(myDate);
model.setItem(row, column, item);
m_tableView->setModel(model);
}
也许你需要改用
Qt::DisplayRole
?是的,但这意味着qdate是一个字符串。我只想要日期类型的,不完全是。它将以字符串形式显示,但在内部存储为QVariant,您可以使用data()函数获取它。是的,谢谢,但是如果我使用QVariant::canconvert()检查单元格是否有日期,它将显示false。什么叫canconvert()打开?也许您需要使用Qt::DisplayRole
?是的,但这意味着qdate是一个字符串。我只想要日期类型的,不完全是。它将以字符串形式显示,但在内部存储为QVariant,您可以使用data()函数获取它。是的,谢谢,但是如果我使用QVariant::canconvert()检查单元格是否有日期,它将显示为false。如何调用canconvert()?