`
ydbc
  • 浏览: 766823 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

在QTable中删除当前选中行

 
阅读更多

我们知道,QTable里有一个removeRow(int i)函数用来删除当前行,但是如果我们没有对于table进行任何的选中,那么QTable是如何返回的呢?

用Designer里拖了一个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控件+QTable委托

    在描述中提到的“使用QTable委托实现”,就是指创建一个新的QItemDelegate子类,并覆写`paint()`和`createEditor()`等方法,以实现自定义的绘制和编辑行为。 结合标签“QT QTable QHeader”,我们可以推断这个项目...

    PyQt5 QTable插入图片并动态更新的实例

    在图形用户界面(GUI)开发中,使用PyQt5进行应用程序设计时,经常会遇到需要在`QTableWidget`中插入图片并实现动态更新的需求。本文将详细介绍如何在PyQt5的`QTableWidget`中插入图片,并确保这些图片可以随着数据...

    实现table表格checkbox复选框的全选 反选

    在网页开发中,表格(Table)是常用的数据展示方式,而复选框(Checkbox)则为用户提供多选功能。在HTML的表格中实现复选框的全选与反选功能,能够大大提升用户体验,使用户可以便捷地选择一组数据。这里我们将详细...

    QTable2EXCEL.txt

    将QTableWidget内容导出到excel文件,包含2003版和2007版XLS,亲测可用

    QTableWidget 设置某一列禁止编辑

    在QT编程中,`QTableWidget` 是一个非常常用的组件,用于展示表格数据,并支持用户交互。在某些情况下,我们可能需要控制用户只能查看而不能修改特定列的数据,这就涉及到了`QTableWidget`的列编辑功能的设置。本...

    python3+PyQt5使用数据库窗口视图

    在本知识点中,我们将深入探讨如何使用Python 3结合PyQt5图形界面框架来创建与数据库交互的窗口视图。PyQt5是一个用于创建跨平台桌面应用程序的工具包,它提供了大量的小部件(Widgets),可以用来设计和构建各种...

    在table中添加jcombox

    在Java Swing中,`JTable`是一个非常常用的组件,用于展示二维数据,而`JComboBox`则是一个下拉选择框,常用于提供用户多种选择。将`JComboBox`添加到`JTable`中,可以增强表格的功能性,使得用户可以在单元格内进行...

    利用代理的方式向QtableWidegt 中添加各种控件

    在QT编程中,QTableWidget是一个非常常用的组件,用于展示二维表格数据。然而,仅仅使用QTableWidget的基础功能,我们只能在单元格中显示文本。为了实现更丰富的交互,如添加按钮、下拉框和日期选择器等控件,我们...

    QT处理Excel数据到Table Widget的四种方法

    在QT开发中,有时我们需要将Excel数据导入到Table Widget中展示,这在数据分析、报表制作或用户界面设计中非常常见。本文将详细讲解四种方法来实现这个功能,以帮助开发者更好地理解和应用。 方法一:使用QFile和...

    Qt 拖拽-qtablewidget

    在`dropEvent`中,我们可以获取到拖放的数据,并进行相应的处理,例如插入新行或移动行: ```cpp void MyTableWidget::dropEvent(QDropEvent *event) { if (event->mimeData()->hasFormat("text/plain")) { int ...

    QT编写的TableWidget分页效果

    在QT编程中,有时我们需要处理大量数据,这时分页效果就显得尤为重要,因为它可以提高用户体验,避免一次性加载过多数据导致界面卡顿。 分页效果通常是通过在TableWidget上添加额外的控件,如页码选择器和显示页数...

    qt 复杂表格

    在Qt框架中,实现复杂表格通常涉及到QTableWidget、QTableView和QStandardItemModel等组件的使用。这些组件允许开发者创建具有多种数据类型、自定义显示和交互功能的表格。下面将详细阐述Qt如何实现复杂表格的功能...

    Qt自定义表头实现过滤功能的方法

    在该事件中,可以通过调用logicalIndexAt方法获取当前鼠标悬停的列索引。如果索引有效,即不等于-1,则更新该列显示。如果鼠标离开该列或表头,需要在QHeaderView的event事件中通过捕获Leave和HoverLeave事件来清除...

    Qt实现表格密码显示

    在IT领域,尤其是在软件开发中,安全性是至关重要的。Qt是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面、移动以及嵌入式设备的GUI设计。本篇文章将详细探讨如何使用Qt来实现表格密码显示的功能,以...

    qt-3.0.5-doc(zh_CN).rar_doc

    它可以动态调整大小,并支持行、列的添加、删除和排序。 8. **sql.html** - Qt的SQL模块提供了一系列与数据库交互的类,使得开发者可以方便地连接到各种数据库,执行SQL查询并处理结果。这些类包括QSqlDatabase、...

    Algo_Q学习

    在Java中实现Q学习,首先需要创建一个QTable类来存储状态-动作对及其对应的Q值。你可以使用二维数组或者哈希映射来实现。然后,你需要定义一个Agent类,它将与环境进行交互,选择动作,接收奖励,并更新Q表。以下是...

    图像处理工具箱formatlab

    这个工具箱允许用户在旧版MATLAB环境中进行图像读取、写入和其他基本的图像处理操作。 在提供的压缩包文件中,我们可以看到一些关键的组件: 1. **jpeg_read.c** 和 **jpeg_write.c**:这两个源代码文件分别用于...

    强化学习Qlearning算法matlab

    在每一步,根据当前状态s,选择动作a,可以采用ε-greedy策略,在贪婪地选择Q值最大动作和随机探索之间进行平衡。 3. 执行动作:根据选择的动作a,与环境交互,得到新的状态s'和奖励r。 4. 更新Q表:使用上面的Q-...

    人工智能大作业基于强化学习求解迷宫问题python实现源码+项目说明+实验报告+可执行文件.zip

    如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 强化学习求解迷宫问题 核心代码 - maze.py: 迷宫类的实现,迷宫信息用一个二维数组表示,数组中的每个数代表一个方格,数字值代表方格类型(如0表示...

Global site tag (gtag.js) - Google Analytics