QListview用法(获取点击目录得到点击名称)

void FY4SideTool::slotGetTimeList(const QModelIndex &index)
{
	m_bListTime = true;
	QVariant variant = m_listModel->data(index, Qt::DisplayRole);  //获取当前选择的项的文本
	if (variant.isValid())
	{
		//std::vector<QString> vecTemp;
		QString name = variant.toString();  
		vecTemp.push_back(name);
		
		if (!vecTemp.empty())
		{
			#ifdef _DEBUG
				qDebug() << "strStart = " << vecTemp[0];
				qDebug() << "strEnd = " << vecTemp[vecTemp.size()-1];
			#endif
		}
	}	
}

std::vector<QString> vecTemp;

QStringListModel *m_listModel;


void FY4SideTool::InitListView()
{
	QString strReslutionDir = FY4SourceManager::GetInstance().GetDataSouceDir() + "2000" + "/";
	QDir dir(strReslutionDir);
	dir.setSorting(QDir::Size/* | QDir::SortByMask*/);
	QFileInfoList list = dir.entryInfoList();

	/*QStringListModel **/m_listModel = new QStringListModel(this);
	ui.timelistView->setModel(m_listModel);
	QStringList  stringList;
	for (int i = 0; i < list.size(); ++i)
	{
		QFileInfo fileInfo = list.at(i);
		QString strFile = QString("%1").arg(fileInfo.fileName());
		if (strFile == "." || strFile == "..")
		{
			strFile.remove(".");
			strFile.remove("..");
		}
		else
		{
			QString tempStr = strFile.mid(0, 4) + "-" + strFile.mid(4, 2) + "-" + strFile.mid(6, 2) + " " + strFile.mid(8, 2);
			stringList.append(tempStr);

			#ifdef _DEBUG
				qDebug() << "file = " << tempStr;
			#endif
		}
	}

	m_listModel->setStringList(stringList);
	
}



猜你喜欢

转载自blog.csdn.net/max2009verygood/article/details/79453380