QT tableWidget基本用法
来源:互联网 发布:苹果6打不开数据流量 编辑:程序博客网 时间:2024/05/16 15:19
//QTableWidget行选中/删除/添加行 //1 均分各列 tableWidget->horizontalHeader()->setStretchLastSection(true); //就是这个地方 tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch); //2 整行选中:job_20160526213327 tableWidget->setSelectionBehavior ( QAbstractItemView::SelectRows); //设置选择行为,以行为单位 tableWidget->setSelectionMode ( QAbstractItemView::SingleSelection); //设置选择模式,选择单行 //3 删除选中的整行 int rowIndex = m_pAttrbuteList->currentRow(); if (rowIndex != -1) tableWidget->removeRow(rowIndex); /* 为了将数据能够在界面中显示的更清楚一些,在这里应用到了tableWidget控件,现将该控件中删除指定行的代码介绍如下: QTable里有一个removeRow(int i)函数用来删除当前行,但是如果我们没有对于table进行任何的选中,那么QTable是如何返回的呢? 用Qt Creator里拖了一个tableWidget,加一个按钮,点击删除后执行*/ int i = ui->tableWidget->currentRow(); QMessageBox msg; msg.setText(QString::number(i)); msg.exec(); ui->tableWidget->removeRow(i); /*在不选择行的情况下发现每次点击后删除的都是第一行,i的输出都是0,原因其实很简单,就是因为table的当前焦点在第一样的 第一个单元格所导致的,解决的办法就是让table失去焦点,在构造函数里面添加ui->tableWidget->setFocusPolicy(Qt::NoFocus); 然后再试,发现点击删除按钮如果不选中行的话是不能删除的,返回的i此时是-1。 控件刚开始的时候左边默认自带序列号,如果想去掉左边的行号,加上下面的代码就可以了。*/ QHeaderView* headerView = table的名字->verticalHeader(); headerView->setHidden(true); //4 添加整行 int rowIndex = m_pAttrbuteList->rowCount(); tableWidget->setRowCount(rowIndex + 1);//总行数增加1 tableWidget->setRowHeight(rowIndex, 24);//设置行的高度 -------------------------------------------------------------------------------- QTableWidget *table = new QTableWidget(this); table->setColumnCount(5); //设置列数 table->setRowCount(3); //设置行数/ /*设置列名*/ QStringList headers; headers<<"列名1"<<"列名2"<<"列名3"; table->setHorizontalHeaderLabels(headers); /*给单元格添加内容*/ void addItemContent(int row, int column, QString content) { QTableWidgetItem *item = new QTableWidgetItem (content); table->setItem(row, column, item); } /*给单元格中增加图标*/ QTableWidgetItem *item = new QTableWidgetItem(QIcon("myImage.jpg"), NULL); //只加入图标,没有字符串 QTableWidgetItem *item = new QTableWidgetItem(QIcon("myImage.jpg"), myString); //加入图标和字符串 table->setItem(row, column, item); /*插入一行*/ int row = table->rowCount(); table->insertRow(row); /*插入一列*/ int column = table->columnCount(); table->insertColumn(column); //使行列头自适应宽度,最后一列将会填充空白部分 table->horizontalHeader()->setStretchLastSection(true); //使行列头自适应宽度,所有列平均分来填充空白部分 table->horizontalHeader()->setResizeMode(QHeaderView::Strtch); //使行自适应高度,假如行很多的话,行的高度不会一直减小,当达到一定值时会自动生成一个QScrollBar table->verticalHeader()->setResizeMode(QHeaderView::Strtch); //设置单击选择一行 table->setSelectionBehuavior(QAbstractItemView::SelectRows); //设置每行内容不可编辑 table->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置只能选择一行,不能选择多行 table->setSelectionMode(QAbstractItemView::SingleSelection); /*去掉每行的行号*/ QHeaderView *headerView = table->verticalHeader(); headerView->setHidden(true); /*设置让某个单元格或某行选中*/ //选中单元格: table->setCurrentCell(row, column, QItemSelectionModel::Select); //选中一行: table->setCurrentCell(row, QItemSelectionModel::Select);//(注意此处的列没有值) //设置某一列为不可编辑 for(int i = 0; i<tabelwidget.rowcount();i++) { item(i, colunm)->setFlags(Qt::NoItemFlags); }
阅读全文
0 0
- QT tableWidget基本用法
- Qt::tablewidget
- tableWidget用法
- tableWidget用法
- tableWidget用法
- QT tablewidget 自适应宽度
- QT TableWidget应用笔记
- QT TableWidget插入数据
- Qt TableWidget控件使用
- Qt:表格 tableWidget
- qt tablewidget的显示问题
- Qt之TableWidget、信号、槽
- tablewidget的属性及用法
- qt 基本用法
- qt qtableview基本用法
- QT定时器基本用法
- qt qtableview基本用法
- QT 获得tableWidget中QComboBox的内容
- su 和su -的区别
- SparkStreaming整合kafka编程
- haar 人脸检测跟踪源码整理
- 43.字符串乘法
- 关于MYSQL You can't specify target table for update in FROM clause
- QT tableWidget基本用法
- java类在jvm中经历的几个阶段以及对象中的属性赋值和方法的执行顺序
- java自学-函数(方法)
- True(False) Positives (Negatives) 解释
- set_bit、clear_bit、wait_on_bit_lock、wake_up_bit整理
- dfs hdu 1016 Prime Ring Problem
- loadrunner在监控Linux时的问题--问题记录
- 线程安全队列(一)
- 判断字符串是否没有重复字符