QtTableView

mac2022-06-30  67

Qt TableView  第一部分 最近做Qt项目  用到Qtableview  显示数据  网上查了些资料 结合自己在工程中遇到的实际问题  总结了一些Qtableview的用法: QTableView *tableview; QStandardItemModel *model = new QStandardItemModel(); Qtableview用的mvc模式  实际上用到的是model/view居多 tableview->setmodel(model);来使用model model->setHeaderdata();设置表的column名称; 当然如果想隐藏column名称的话 只需要用:tableview->horizontalHeader()->setVisible(false);  隐藏row名称:tableview->verticalHeader()->setVisible(false); 若是想设置表格column的样式 使用:tableview->->horizontalHeader()->setStyleSheet(); 使用setColumnWidth()来设置Header的宽度; QT还提供了对表格表头进行设置的model: tableview->horizontalHeader()->setResizeMode(); tableview->verticalHeader()->setResizeMode();  Qt提供的 setResizeMode()有四种: QHeaderView::Interactive; QHeaderView::Fixed; QHeaderView::Stretch; QHeaderView::ResizeToContents;  对表格表头设置完之后,接下来就是表格之中的item: 要得到当前选中的item,如下操作: QModelIndex Index = tableview->currentIndex();得到当前的Index; QStandardItem *item = listAll->itemFromIndex(index);//根据index 得到item 如果想让点击item 发送信号 则可以使用: connect(tableview, SIGNAL(clicked ( const QModelIndex &)), this,   SLOT(Function(const QModelIndex &)));//点击tableview中的item触发信号   若要对item可以设置背景颜色  使用:setBackground()即可;     另外: horizontalHeaderItem用来得到具体的headerItem  然后使用setBackgroundColor设置背景色  不知道什么原因我在使用过程中没有产生效果 不知哪个地方出现问题了  有知道的 希望能够指点一二: QStandardItem *headerItem = model->horizontalHeaderItem(i); headerItem->setBackground(); 在我使用 headerItm->text();时是可以得到header的text的;

转载于:https://www.cnblogs.com/Dennis-mi/articles/5249902.html

相关资源:QT TableView自定义委托
最新回复(0)