云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Qt学习笔记 TableWidget使用说明和增删改操作的实现

Qt学习笔记 TableWidget使用说明和增删改操作的实现

  • 62 次阅读
  • 3 次下载
  • 2025/12/9 21:17:19

Qt学习笔记 TableWidget使用说明和增删改操作的实现 看一下效果很简单的一个小功能

先说分部讲一下过程 再给出详细代码 添加数据

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {

ui->setupUi(this);

ui->tableWidget->setColumnCount(2); ui->tableWidget->setRowCount(2);

ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<\<<\e\);

ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //整行选中的方式

ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //禁止修改

ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); //设置为可以选中单个

ui->tableWidget->setItem(0,0,new QTableWidgetItem(\)); ui->tableWidget->setItem(0,1,new QTableWidgetItem(\));

ui->tableWidget->verticalHeader()->setVisible(false); //隐藏列表头

ui->tableWidget->setItem(1,0,new QTableWidgetItem(\)); ui->tableWidget->setItem(1,1,new QTableWidgetItem(\)); ui->tableWidget->selectRow(0); }

进行增删除修改操作

#include \ #include \ #include

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {

ui->setupUi(this);

ui->tableWidget->setColumnCount(2); ui->tableWidget->setRowCount(2);

ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<\<<\e\);

ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //整行选中的方式

ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //禁止修改

ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); //设置为可以选中单个

ui->tableWidget->setItem(0,0,new QTableWidgetItem(\)); ui->tableWidget->setItem(0,1,new QTableWidgetItem(\));

ui->tableWidget->verticalHeader()->setVisible(false); //隐藏列表头

ui->tableWidget->setItem(1,0,new QTableWidgetItem(\)); ui->tableWidget->setItem(1,1,new QTableWidgetItem(\)); ui->tableWidget->selectRow(0); }

MainWindow::~MainWindow() {

delete ui; }

void MainWindow::on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous) {

if(previous!=Q_NULLPTR) {

previous->setBackgroundColor(Qt::transparent); }

if(current==Q_NULLPTR)return;

current->setBackgroundColor(Qt::blue); }

void MainWindow::on_btn_Add_clicked() {

// QAbstractItemModel *model = ui->tableWidget->model(); // model->insertRow(model->rowCount()); int cols=ui->tableWidget->columnCount(); int rows=ui->tableWidget->rowCount(); qDebug()<

ui->tableWidget->insertRow(rows); for(int i=0;i

ui->tableWidget->setItem(rows,i,new QTableWidgetItem(\+QString::number(rows))); }

ui->tableWidget->selectRow(rows); }

void MainWindow::on_btn_Del_clicked() {

QTableWidgetItem * item = ui->tableWidget->currentItem(); if(item==Q_NULLPTR)return;

ui->tableWidget->removeRow(item->row()); }

void MainWindow::on_btn_Modify_clicked() {

QModelIndex index = ui->tableWidget->currentIndex();

QList listItem = ui->tableWidget->selectedItems(); if(listItem.count()==0)return; foreach (QTableWidgetItem * item, listItem) { item->setText(\); } // QTableWidgetItem * item = ui->tableWidget->currentItem(); // if(item==Q_NULLPTR)return; // item->setText(\ } 这里有一些对TableWidget的设置说明一下 1. 将表格变为禁止编辑 在默认情况下,表格里的字符是可以更改的,比如双击一个单元格,就可以修改原来的内容,如果想禁止用户的这种操作,让这个表格对用户只读,可以这样: tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); QAbstractItemView.NoEditTriggers是QAbstractItemView.EditTrigger枚举中的一个,都是触发修改单元格内容的条件: QAbstractItemView.NoEditTriggers 0 No editing possible. 不能对表格内容进行修改 Editing start whenever current QAbstractItemView.CurrentChanged 1 item changes.任何时候都能对单元格修改 Editing starts when an item is double clicked.双击单元格 QAbstractItemView.DoubleClicked 2 Editing starts when clicking on an QAbstractItemView.SelectedClicked 4 already selected item.单击已选中的内容 Editing starts when the platform QAbstractItemView.EditKeyPressed 8 edit key has been pressed over an item.

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

Qt学习笔记 TableWidget使用说明和增删改操作的实现 看一下效果很简单的一个小功能 先说分部讲一下过程 再给出详细代码 添加数据 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->tableWidget->setColumnCount(2); ui->tableWidget->setRowCount(2); ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<\<<\e\); ui->

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com