QTablewidget 删除而不创建新行

2023-12-01

我有一个 QTableWidget 并且 1 列只有复选框,因此对于这些项目我有这些标志:

/* create prototype for checkbox item */ 
checkItem = new QTableWidgetItem();
Qt::ItemFlags flags = checkItem->flags();
flags &= ~Qt::ItemIsEditable;
flags &= ~Qt::ItemIsDropEnabled;
flags &= ~Qt::ItemIsDragEnabled;
flags |= Qt::ItemIsUserCheckable;
checkItem->setFlags(flags);
/**/

好吧,这有效......几乎。我不能在这些物品中掉任何东西,这很好。但现在可以在 2 个单元格之间放置,因此创建了一个新行。 我怎样才能防止这种情况发生? 在单元格可放置的其他列中,我只能放置在单元格中,而不能放置在单元格之间,这很好。当该项目未启用放置功能时,为什么此行为会发生变化?


使用事件过滤器的快速破解(可能需要一些调整):

您所做的就是忽略复选框列上的任何下降。所以禁用行创建应该足够了。

bool yourWidget::eventFilter(QObject *a_object, QEvent *a_event) 
  {
  bool result = false;
  if ((a_object == table->viewport()) && (a_event->type() == QEvent::Drop)) 
  {
     QDropEvent *p_drop_event = static_cast<QDropEvent *>(a_event);
     QPoint pos = p_drop_event->pos();
     QModelIndex new_index = table->indexAt(pos);
     if (new_index.column() == YOUR COLUMN HERE)
     {
       // Ignore drop event
       p_drop_event->setDropAction(Qt::IgnoreAction);
       p_drop_event->accept();
       return true;
     }
     else
     {
       // Allow drop
       return false;
     }

  }
return QObject::eventFilter(a_object, a_event);
}

有关事件过滤器的信息:

事件过滤器

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QTablewidget 删除而不创建新行 的相关文章

  • QPainter 性能高帧率

    我试图在 QPainter 中以 60fps 的速度显示视频 在 OpenGLwidget 中 我遇到一个问题 有时绘图花费的时间太长 并且在使用 QPainter 时发生下一个重绘事件 这会生成警告和随机崩溃 有几个问题 是否有一种 Qt
  • 获取 QPushButton 在 2D 数组 QPushButton 上的索引

    我有一个二维数组QPushButton 当用户单击按钮时如何获取按钮的索引 例如当用户单击按钮时a 2 3 它会显示 2 3 该示例如下所示 Qt 4 5 使用对象名称 您可以为按钮指定唯一的对象名称 理想情况下 名称应该是有效的 C 标识
  • 使用 QTextCursor 选择一段文本

    使用 Qt 框架选择文本片段时遇到问题 例如 如果我有这个文件 没有时间休息 我想选择 ime for r 并从文档中删除这段文本 我应该如何使用 QTextCursor 来做到这一点 这是我的代码 QTextCursor cursor n
  • 如何在 QT 中绘制点?

    我正在用 QT 用 C 编写一个应用程序 其中有 n 个点并计算它的凸包 然而 一旦计算出来 我不知道如何绘制点并绘制船体的边界 制作菜单按钮等很简单 但我不确定我是否知道执行此操作的工具 你怎么做到这一点 图形视图 addEllipse
  • 仅在发布模式下使用 glGenBuffer 时出现未处理的异常 - QT

    我在 Windows 7 上使用 Qt 4 8 发布模式编译项目时遇到了一些问题 调试时一切正常 但在发布时我收到未处理的异常 0xC0000005 访问冲突 我将范围缩小到发生这种情况的行 即生成像素缓冲区的时间 我的第一个猜测是 DLL
  • 有没有办法向 QListView 添加部分?

    我正在使用 Qt5 2 和 C 来实现一个应用程序 需要显示一个列表 其中包含类似于下面的示例图像的部分 source ngo hung com http www ngo hung com files images contact list
  • 在没有加载器的情况下实例化内联组件

    有没有办法实例化内联Component 即在同一文件中定义 而不使用Loader 我不太关心使用的性能影响Loader因为我要用很多东西污染我的文件Loader包装纸 我发现从 JavaScript 创建动态 QML 对象 http doc
  • 如何在QT上暂停和重新启动Qtimer

    我有 Ubuntu 我正在使用 IDEQT on C 我将暂停和恢复计时器 例如 void Ordonnancer les taches on pushButton clicked connect dataTimer SIGNAL time
  • QMainWindow 上的 Qt 布局

    我设计了一个QMainWindow with QtCreator s设计师 它由默认的中央小部件 aQWidget 其中包含一个QVBoxLayout以及其中的所有其他小部件 现在我想要的一切就是QVBoxLayout自动占据整个中央小部件
  • 使用 OpenGL 渲染 QImage

    与我相关的其他问题 https stackoverflow com questions 20126354 render qimage from sooffscreenrenderer in qglwidget 我认为更核心的问题是 如何渲染
  • 如何去除QWizard中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我尝试递归浏览所有小部件并将其边框设置为无 但似乎没有任何小部件具有此边框 这是我的代码 可以找到完整的可构建示例here https gist github com ardeid
  • 如何在针对 Windows XP 的情况下使用 VS2012 构建 Qt 4/5?

    我正在尝试使用 Visual Studio 2012 构建 Qt 4 8 5 Qt 5 2 1 针对 Windows XP SDK v7 1a 使用 VS2102 编译时 源代码与 SDK v7 1a 存在各种不兼容性 因此无法开箱即用 这
  • 在 Qt 中使用多个不同的流读取同一文件

    使用 Qt 是否可以使用多个流读取文件以同时访问其中的不同数据部分 请注意 Qt 中的流 QTextStream QDataStream 不处理底层设备中的位置 流类只是一个包装器 用于更轻松地解析设备 QFile 实例 内的二进制数据 因
  • QTableView 并双击一个单元格

    我正在开发测试用例编辑器 该编辑器包含 USART 传输和接收数据包格式 编辑器是一个表格视图 发送和接收数据包的长度为八个字节 例如 0x01 0x02 0x03 0x08 它在我的第五和第六栏中 现在 我希望此列中的单元格为只读 但是当
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • Qt中用于线程间通信的类设计

    问题陈述 用相机跟踪物体并相应地移动相机的方位角和仰角 Process 相机获取物体的图像 处理相机的每一帧以查找物体 应该被跟踪 并将每帧中生成的信息传递给机械设备 万向节 以平移和倾斜方式移动摄像机 Design 主 Gui 在一个线程
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • Qt 5.1.1 与 Visual Studio 2012 - 这些 QT 版本无法访问

    打开 Visual Studio 时出现此错误 我安装自http qt project org downloads http qt project org downloads 适用于 Windows 64 位的 Qt 5 1 1 VS 20
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap

随机推荐

  • 使用 vstack 的全屏背景图像

    我想要一个带有导航视图的全屏背景图像 必须位于顶部 因为它来自基础视图 而不是通常位于 此 视图中 在此视图中 我想要一个位于安全区域内的 VStack 位于导航栏和底部布局之间 不幸的是我得到了 见图 I expected the tex
  • 使用外部计算的变量的回调函数

    基本上我想做这样的事情 arr 1 2 3 4 5 6 7 8 9 10 avg array sum arr count arr callback function val return val lt avg return array fi
  • Python SciPy 卡方测试返回与 Excel 和 LibreOffice 不同的 p 值

    读完一篇后最近的博客文章关于泊松分布的应用程序 我尝试使用 Python 的 scipy stats 模块以及 Excel LibreOffice POISSON 和 CHITEST 函数重现其发现 对于文章中显示的预期值 我简单地使用了
  • 如何使用 PowerShell 引用 .NET 程序集

    我是一名 C NET 开发人员 架构师 并且了解它使用对象 NET 对象 而不仅仅是流 文本 我希望能够使用 PowerShell 调用我的 NET C 库 程序集上的方法 如何在 PowerShell 中引用程序集并使用该程序集 通过 P
  • 警告:文件大小功能无法运行[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 以下代码 结果是 Warning filesize function filesize
  • 在空白行上拆分 Pandas DataFrame

    我有一个大数据框 需要将其拆分为空行 这是 DataFrame 的简化示例 A B C 0 1 0 International 1 1 1 International 2 NaN 2 International 3 1 3 Internat
  • 循环遍历范围以查找匹配的字符串谷歌脚本

    我试图循环遍历电子表格的顶部标题行 以根据标题名称查找列的索引号 这样如果有人插入列 我的代码就不会中断 这是我到目前为止所拥有的 var sheet SpreadsheetApp getActive getSheetByName RawD
  • SharedPreferences ListPreference NullPointerException

    我试图在我的首选项 xml 中设置频率列表 但我不断收到此错误 我也附上了所有相关文件 我相信我设置的值是正确的 但我找不到当前的错误所在 另外 当我使用 SharedPreferences getString key defaultVal
  • 如何初始化类句柄向量?

    我有一个基于句柄的类 我需要创建它的向量 执行此操作的一个简单方法是在 for 循环中动态构造向量 但这会导致mlint抱怨向量大小的变化 classdef HandleClass lt handle end for i 1 10 foo
  • 启用分组时保留现有 Excel 工作表保护

    我试图允许在工作表中进行分组 EnableOutlined 下面是一个允许它的典型示例 但它也会重置指定的所有保护属性 不幸的是我不知道现有的属性是什么 设置分组属性时是否有简单的方法保留现有的保护属性 Private Sub Workbo
  • Java 8、JCE 无限强度策略和 TLS 上的 SSL 握手

    使用Java 8 服务器仅支持TLSv1 它无法从 centOS 建立安全套接字连接 Version java version 1 8 0 45 Java TM SE Runtime Environment build 1 8 0 45 b
  • 如何使用自定义概率分布进行随机选择

    我有一份来自美国人口普查网站的美国姓名及其各自的姓名列表 我想使用给定的概率从此列表中生成一个随机名称 数据在这里 美国人口普查数据 我见过类似的算法轮盘赌选择算法很容易实现 但我想知道是否有任何方法可以在 O 1 中生成随机名称 为了直方
  • gcloud docker 推送可靠性

    我在推送图像时遇到了很多问题gcloud docker push过去几周 我已经阅读了许多堆栈溢出讨论以及 github 问题和解决方法 但我还没有找到解决不一致问题的方法 通常我会尝试推送一两个容器镜像 第一次推送几乎总是会失败 并显示以
  • 如何将我的谷歌地图应用程序转换为谷歌地球应用程序?

    在maps google com上 您可以看到一个精彩的例子 展示谷歌地图应用程序如何突然顺利地变成谷歌地球应用程序 我正在开发一个谷歌地图应用程序 使用 API 版本 3 我在 Google Earth API 摘要中阅读了以下行 如果您
  • Java MouseEvent位置不准确

    我在 Java 中使用我创建的 canvas 类遇到了问题 该类是一个扩展JPanel 绘制动画环形图 该图表使用的是MouseListener获取点击事件 问题是鼠标位置似乎不准确 这意味着它似乎不是相对于 画布 而是相对于窗口 在左上角
  • 找不到适用于 jdbc:mysql://localhost/ 的驱动程序

    我正在尝试将我的代码从 Linux 移植到 mac OSX LION 下面的方法在linux上工作得很好 Connection getConnection throws SQLException String url jdbc mysql
  • cakephp复杂查询多个“OR”条件

    我想用 cakephp 进行这样的查询 WHERE text LIKE keyword AND text LIKE something OR text LIKE something OR AND text LIKE other OR tex
  • 使用 OpenCV 进行水平线检测

    我试图从来自 文档 的图像中找到水平线和垂直线 这些文档是合同的扫描页面 因此这些行看起来就像您在表格或合同块中看到的那样 我一直在尝试 OpenCV 来完成这项工作 OpenCV 中的霍夫变换实现似乎对这项工作很有用 但我找不到任何参数组
  • pandas:根据其他列乘以列

    我有一个包含 a 列和 b 列的数据框 如果 b 为真 我想将 a 列乘以值 x 如果 b 为假 我想将列 a 乘以值 y 实现这一目标的最佳方法是什么 您可以分两步完成 df loc df b a x df loc df b False
  • QTablewidget 删除而不创建新行

    我有一个 QTableWidget 并且 1 列只有复选框 因此对于这些项目我有这些标志 create prototype for checkbox item checkItem new QTableWidgetItem Qt ItemFl