qt tableview model,qt model view实例
Yyds干货库存
1.在界面上拖动一个QTableView,写代码设置表头内容。
数据模型为视图组件和代理提供了存储数据的标准接口。
QStandardItemModel * theModel
QItemSelectionModel * the selection;Themodel-setheaderdata (0,Qt: horizontal,文件名);
theModel=new QStandardItemModel(0,3,this);//数据模型
the selection=new QItemSelectionModel(the model);//选择模型
Themodel-setheaderdata (0,Qt: horizontal,文件名);
Themodel-setheaderdata (1,Qt: horizontal,创建时间);
Themodel-setheaderdata (2,Qt: horizontal,序号);
Model- setItem(FileNumber,2,item);//设置三列0 1 2
//动态设置表格内容
如果(文件名100)
{
model-setData(model-index(file number,0),FileName);
QString str 1=datetime 1 . tostring( yyyy-MM-DD );
QString str 2=datetime 1 . tostring( hh:mm:ss );
QString str 3=str 1 QString(-)str 2;
model-setData(model-index(file number,1),str 3);
//动态添加第三列
model-setData(model-index(file number,2),buf)
}2.选择QTableView的一行或某个位置,获取单元格内容。
如果关注ui界面上的QTableView,就不要自己自定义槽位功能了;连接,因为很麻烦,不一定能成功。
可以直接点击ui界面上的QTableView前往插槽,选择响应信号,插槽功能和连接信息会自动生成(如图)。你只需要在slot函数中获取单元格内容,也可以将获取的内容显示到你想要显示的位置。
在插槽中编写以下代码,您可以获得所选行的第一列的内容。也可以根据自己的需要选择其他行和列的内容。
ui-table view-setSelectionBehavior(QTableView:select rows);
QAbstractItemModel * l model=ui-table view-model();
QModelIndex lindex=l model-index(index . row(),1);
q variant data temp=l model-data(lindex);
StrLangName=lmodel- data(index)。toString();
ui-lineEditSelect-setText(StrLangName);3.翻译
,转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。