QTableView的用法

QTableView的用法

1.QTableView 和QStandardItemModel 配合使用


设置表头宽度

ui->tableView->setColumnWidth(LISTCOLUMN_INDEX, 60);
ui->tableView->setColumnWidth(LISTCOLUMN_TIME, 180);
ui->tableView->setColumnWidth(LISTCOLUMN_CHANNEL, 70);
ui->tableView->setColumnWidth(LISTCOLUMN_ALARM_MESSAGE, 240);
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

设置TableView 表的表头

typedef enum
{
    LISTCOLUMN_INDEX = 0,
    LISTCOLUMN_TIME,
    LISTCOLUMN_CHANNEL,
    LISTCOLUMN_ALARM_MESSAGE
}LISTVIEW_COLUMN;

QStandardItemModel  m_Model
m_Model.setHorizontalHeaderItem(LISTCOLUMN_INDEX, NEW QStandardItem(QObject::tr(" Index")));
m_Model.setHorizontalHeaderItem(LISTCOLUMN_TIME, NEW QStandardItem(QObject::tr("Time")));
m_Model.setHorizontalHeaderItem(LISTCOLUMN_CHANNEL, NEW QStandardItem(QObject::tr("Channel")));
m_Model.setHorizontalHeaderItem(LISTCOLUMN_ALARM_MESSAGE, NEW QStandardItem(QObject::tr("Alarm Message")));
ui->tableView->setModel(&m_Model);

添加表的内容


QString strAlarmType = "";
QString strChannel = "";
QString strIndex = "";
QString strTime = "";
strChannel.setNum(stAlarmInfo.nChannel+1);
strIndex.setNum(g_nInidex);
setAlarmTyoe(stAlarmInfo.nType, bAlarmStatus, strAlarmType);
QDateTime currentTime = QDateTime::currentDateTime();
strTime = currentTime.toString("yyyy-MM-dd hh:mm:ss:zzz");

QList<QStandardItem*> listItem;
listItem<<NEW QStandardItem(strIndex)<<NEW QStandardItem(strTime)<<NEW QStandardItem(strChannel)<<NEW QStandardItem(strAlarmType);
m_Model.insertRow(0, listItem);
g_nInidex++;

清理资源


  m_Model.removeRows(0, m_Model.rowCount());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值