QT tableWidget的使用及其实例

效果展示

实例代码

void Test::Init()
{ui.tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);ui.tableWidget->verticalHeader()->setVisible(false);//隐藏列默认头ui.tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);  //只可选中单个ui.tableWidget->setSelectionBehavior(QTableWidget::SelectRows); //一次选中一行ui.tableWidget->setRowCount(100);//100行ui.tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);//列自适应宽度//初始化表格第一列for (int i = 0; i < 100; i++){QTableWidgetItem* item = new QTableWidgetItem();QColor color;color.setRgb(220, 220, 220);item->setBackgroundColor(color);//背景设置//item->setBackground(QBrush(QColor(Qt::lightGray)));item->setFlags(item->flags() & ~Qt::ItemIsEditable);//某列不可编辑item->setText(QString::fromStdString(std::to_string(i + 1)));//设置值item->setTextAlignment(Qt::AlignCenter);//水平居中ui.tableWidget->setItem(i, 0, item);//表格中第一列}//右键具体事件_QMenu = new QMenu(ui.tableWidget);_QHandmade = new QAction("手动选定", this);_QDelNumber = new QAction("删除料号", this);_QTrial = new QAction("试标刻", this);connect(ui.tableWidget, &QTableWidget::customContextMenuRequested, [this]() {responseTableWidgetRight(); });//监听表格变化,触发事件connect(ui.tableWidget, &QTableWidget::cellChanged, [this]() {ui.tableWidget->blockSignals(true);//do somethingui.tableWidget->blockSignals(false);});connect(_QHandmade, &QAction::triggered, [this]() {//do somethingHandmade();});connect(_QDelNumber, &QAction::triggered, [this]() {//do something});connect(_QTrial, &QAction::triggered, [this]() {//do something});
}void Test::Handmade()
{QList<QTableWidgetItem*> items = ui.tableWidget->selectedItems();//Print(QString::fromStdString(std::to_string(count)));QTableWidgetItem* item = items.at(2);QString str = item->text();SetChooseStyle(items);
}void Test::SetChooseStyle(const QList<QTableWidgetItem*>& items)
{//先将上一行置为默认样式ResetStyle();//改变整行颜色for (int i = 0; i < 3; i++){if (0 == i)_currentRow = ui.tableWidget->row(items.at(i));//_currentRow是成员变量QTableWidgetItem* item = items.at(i);QColor color;color.setRgb(250, 128, 114);item->setBackground(color);}//获取当前行的所有列的内容//for (int i = 0; i < count; i++)//{// //int row = ui.tableWidget->row(items.at(i));// QTableWidgetItem* item = items.at(i);//    QString text = item->text();//  Print(text);//  //Print(QString::fromStdString(std::to_string(row)));//}
}void Test::ResetStyle()
{//Print(QString::fromStdString(std::to_string(_currentRow)));for (int i = 0; i < 3; i++){QTableWidgetItem* itemColor = ui.tableWidget->item(_currentRow, i);//_currentRow是成员变量QColor color;0 == i ? color.setRgb(220, 220, 220) : color.setRgb(0, 0, 0, 0);itemColor->setBackground(color);}
}

QT tableWidget的使用及其实例相关推荐

  1. Qt实现应用程序单实例运行--LocalServer方式

    使Qt应用程序能够单实例运行的典型实现方法是使用共享内存实现.该方法实现简单,代码简洁. 但有一个致命缺陷:共享内存(QSharedMemory)实现的单程序运行,当运行环境是UNIX时,并且程序不幸 ...

  2. 在linux下Qt使用sqlite,QT中SQLite使用【实例】

    今天分享一个Qt下,使用SQLite的一个案例.QT中SQLite使用[实例] #include //#include #include #include #include #include #inc ...

  3. Qt操作Office的一个实例--口算题生成器制作。

    文章目录 Qt操作Office的一个实例--口算题生成器制作. 1.关联QAxObject 2.操作Word文档: 3.设计界面 4.关键代码 效果: Qt操作Office的一个实例–口算题生成器制作 ...

  4. qt tablewidget中item添加背景色

    qt tablewidget中item添加背景色 qt tablewidget中item背景色问题 void MainWindow::ReceveMsg_slot(int mode) {       ...

  5. QT tableWidget给单个表格添加背景颜色

    QT tableWidget给单个表格添加背景颜色 代码示例 QWidget *widget = new QWidget(); QString wStyle = QString("backg ...

  6. 详解在QT中写控制台程序 实例

    详解在QT中写控制台程序 实例 在QT中写控制台程序 实例是本文介绍的内容,不多说了,先来看本文内容. AD: 本文介绍的是详解在QT中写控制台程序 实例,来看那内容.找到两种方法可以写控制台程序 第 ...

  7. Qt与Tomcat服务器通信实例 post方法提交

    1. 利用Qt 网络类: QNetworkAccessManager .QNetworkReply. QNetworkRequest 2. 要知道的知识: 每一种语言在实现网络接口的时候,都会有自己的 ...

  8. Qt文档阅读笔记-Qt Quick Controls - Wearable Demo实例解析

    程序运行截图如下: 这个实例主要是用qml玩界面. main.qml文件以及wearable.qml分别是由ApplicationWindow和StatckView.这个StackView用于做导航相 ...

  9. Qt tableWidget导入\导出Excel表格

    首先在.pro文件中添加以下代码: CONFIG += \qaxcontainer #excel 接下来就是Excel代码:cpp文件: #include "excelengine.h&qu ...

  10. QT开发笔记(多媒体实例之视频播放器)

    多媒体 视频播放器 与音乐播放器一样使用 QMediaPlayer 类,不同的是需要使用 setVideoOutput(QVideoWidget*) 设置一个视频输出窗口,好让视频在此窗口显示,其他步 ...

最新文章

  1. 程序员的8年床铺变化 | 每日趣闻
  2. c#_HashSet
  3. 在什么时候才会用到fireEvent方法呢?
  4. error MSB8008: 指定的平台工具集(v110)未安装或无效。请确保选择受支持的 PlatformToolset 值
  5. C#之foreach语句
  6. 我可以在CSS中使用onclick效果吗?
  7. uartz Spring与Spring Task总结
  8. Deepin20.5安装maven
  9. 第二证券|钠电池三种技术路线谁更将率先取代锂电池?
  10. java jbutton 背景颜色_java – 在Windows上设置JButton背景颜色
  11. vue实现任务周期cron表达式选择组件
  12. 500GB 的数据库怎么发送给客户?大文件传输软件来帮忙
  13. PyQt5基本控件之菜单栏QMenuBar
  14. php跨域header处理
  15. MegaFace 人脸数据集 戴眼镜数据集
  16. js实现点击图片放大效果,以及懒加载图片
  17. b站黑马的Vue快速入门案例代码——小黑记事本
  18. 电大学位计算机考试题库,国家开放大学电大学位英语考试试题题库及答案
  19. 2025年的技术:为第四次工业革命做准备
  20. 学生HTML个人网页作业作品 个人主页博客web网页设计制作 web大学生个人网站作业模板

热门文章

  1. 【工大SCIRLab】EMNLP 2019 跨语言机器阅读理解
  2. Netty in action—单元测试
  3. 如何配置程序集的版本策略
  4. 简明Github使用教程(桌面客户端与网页版)
  5. 伪标记是一种简单的半监督学习方法
  6. 【调参】如何为神经网络选择最合适的学习率lr-LRFinder-for-Keras
  7. 'scipy._lib.messagestream' 以及 'scipy.interpolate.interpnd.array' 解决办法
  8. 逻辑回归(Logistic Regression)学习笔记
  9. oracle的事物起始于,oracle 学习笔记(十) 事务控制语句
  10. c语言用户给顺序表输入值,C语言与数据结构实验指导(删减程序版)课案.docx