函数代码宏定义

下面一段相同的代码:仅m_pParameterStructInfo、ParameterStruct不同

		if (nullptr != m_pParameterStructInfo)
		{
			int row = 0;
			m_tableWidget->setRowCount(m_pParameterStructInfo->_infoSet.size());
			for (std::map<QString, ParameterStruct>::iterator iterator = m_pParameterStructInfo->_infoSet.begin(); iterator != m_pParameterStructInfo->_infoSet.end(); ++iterator,++row)
			{
				m_tableWidget->setItem(row, 0, new QTableWidgetItem(QString(iterator->second._Name)));
				m_tableWidget->setItem(row, 1, new QTableWidgetItem(QString(iterator->second._Version)));
				m_tableWidget->setItem(row, 2, new QTableWidgetItem(QString(QDateTime::fromSecsSinceEpoch(iterator->second._revised).toString("dd-MM-yyyy"))));
				m_tableWidget->setItem(row, 3, new QTableWidgetItem(QString(iterator->second._Classification)));
			}
		}

宏定义写法,使用## ##搭配替换不同的部分

#define UPDATETABLEDATA(type)\
if (m_p##type##Info)\
{\
	int row = 0;\
	m_tableWidget->setRowCount(m_p##type##Info->_infoSet.size());\
	for (std::map<QString, type>::iterator iterator = m_p##type##Info->_infoSet.begin(); iterator != m_p##type##Info->_infoSet.end(); ++iterator, ++row)\
	{\
		m_tableWidget->setItem(row, 0, new QTableWidgetItem(QString(iterator->second._Name)));\
		m_tableWidget->setItem(row, 1, new QTableWidgetItem(QString(iterator->second._Version)));\
		m_tableWidget->setItem(row, 2, new QTableWidgetItem(QDateTime::fromSecsSinceEpoch(iterator->second._revised).toString("dd-MM-yyyy")));\
		m_tableWidget->setItem(row, 3, new QTableWidgetItem(QString(iterator->second._Classification)));\
	}\
}\

使用方法:
UPDATETABLEDATA(ParameterStruct);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值