QTableWidget Item获取Widget类型并访问它

2023-12-25

我正在尝试对 QtableWidget 中的行进行求和,但这样做时出现分段错误,不确定是什么原因造成的,但我认为这与我将单元格小部件项目设置为旋转框而我没有这样做有关正确访问它们。 当我在 cellChanged 事件中设置它时,当旋转框发生更改时,我也无法触发 TotalRow 函数。

TotalRow 函数(当单元格更改时应该对行进行总计)

int MainWindow::totalRow(int srow)
{
    int sum = 0;
    int num_col = ui->tblScores->columnCount();
    int num_row = ui->tblScores->rowCount();
        for (int j = 0; j < num_col - 1 ; ++j) {
            QTableWidgetItem *tableItem = ui->tblScores->item(srow,j);

            sum += tableItem->text().toInt();
            cout << sum << endl;
        }
        QTableWidgetItem *tableItem = new QTableWidgetItem;
        tableItem->setText(QString::number(sum));
        ui->tblScores->setItem(srow,num_col - 1,tableItem);
    return sum;
}

setupTable 函数(这就是将表项设置为旋转框的函数)

void MainWindow::setupTable()
{
    int num_col = ui->tblScores->columnCount();
    int num_row = ui->tblScores->rowCount();
    for (int i = 0; i < num_row; ++i) {
        for (int j = 0; j < num_col - 1 ; ++j) {
            ui->tblScores->setCellWidget(i,j,new QSpinBox(ui->tblScores));
        }
        ui->tblScores->setCellWidget(i,num_col - 1,new QLabel(ui->tblScores));
    }
}

单元格更改事件

void MainWindow::on_tblScores_cellChanged(int row, int column)
{
    totalRow(row);
}

按照上面的建议找到了 cellWidget 的解决方案。

int MainWindow::totalRow(int srow)
{
    int sum = 0;
    int num_col = ui->tblScores->columnCount();
        for(int j = 0; j < num_col - 1 ; j++) {
            QSpinBox* sp;
            sp = (QSpinBox*)ui->tblScores->cellWidget(srow,j);
            sum = sum + sp->value();
        }
        QTableWidgetItem *tableItem = new QTableWidgetItem;
        tableItem->setText(QString::number(sum));
        ui->tblScores->setItem(srow,num_col - 1,tableItem);
    return sum;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QTableWidget Item获取Widget类型并访问它 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern

随机推荐

  • 将行转换为列 Shell 脚本

    我有以下格式的数据 APP OWNER hari APP AREA Work Business Area AUS APP ID 124080 我希望将数据转换为以下格式 APP OWNER APP AREA APP ID hari Work
  • Firebase DatabaseException:无法将 java.lang.Long 类型的值转换为 String

    com google firebase database DatabaseException 转换失败 java lang Long 类型的值转换为 String 是我在按照文档尝试将数据检索到对象以供使用时不断收到的错误 这是我的对象模型
  • 没有匹配的函数用于调用构造函数(c ++)[重复]

    这个问题在这里已经有答案了 EDIT 好吧 我又花了几个小时阅读了一些内容 我想我终于更好地理解了 C OOP 至少是基础知识 我决定一次重写整个程序和代码并进行更多测试 我想这次我缩小了错误的范围 命名风暴 h include
  • Plotly:躲避散点图分类轴上的重叠点

    我正在尝试使用绘图来比较回归模型的系数 并使用置信区间的误差线 我使用以下代码来绘制它 使用变量作为分类y散点图中的轴 问题是这些点是重叠的 我想避开它们 就像您设置时在条形图中发生的那样barmode group 如果我有一个数字轴 我可
  • Rails - 有 2 个字段的查找依据?

    我在控制器中有以下内容 def update permission Permission find by user id params user id 但我希望它也能通过另一个参数找到 project id 我怎样才能在 Rails 中做这
  • 如何让我的维吉尼亚密码忽略原始消息中的空格

    我试图制作一个维吉尼亚密码 但我似乎找不到一种方法来实现在输入消息时忽略输入的空格 然后打印最后的功能 例如 我输入起始消息 python 计算 然后我输入密钥为 stack 如果程序忽略原始消息中的空格 我希望得到 isukzg wppa
  • 对象文字属性值简写与“this”不兼容

    在 JavaScript 中可以执行以下操作 var a this this 但使用 ES6 属性简写时 我得到 SyntaxError var b this SyntaxError this is a reserved identifie
  • 关于 MvcContrib TestHelpers 的新手问题

    我刚刚开始使用 MvcContrib 中的 TestHelpers 我想尝试在我的控制器上测试一个操作方法 该方法本身测试 IsAjaxRequest 是否为 true 我使用了 TestHelper 示例中显示的相同代码来设置 TestC
  • snprintf:是否有任何 C 标准提案/计划来更改此函数的描述?

    C语言标准是否有任何提案 或计划 来更改 最后一句 描述snprintf函数使得描述的歧义这是我的答案 https stackoverflow com questions 7706936 is snprintf always null te
  • Google Play 游戏服务错误代码 400

    有一个使用玩游戏服务的应用程序 但由于某种原因它停止工作 看起来有时我可以成功登录 但通常 不能 如果我检查 API 流量 大约有 10 的人得到响应代码 200 其他人得到响应代码 404 得到404的方法 游戏 应用程序 玩过 游戏 事
  • React Native AsyncStorage 返回承诺而不是值

    我知道这是 RN 中一个非常常见的问题 我仍在尝试了解从属性文件加载数据时返回 Promise 的可能优势 而不是仅仅返回值 这使得链接请求非常麻烦 但无论如何 这是我现在拥有的 它是 AsyncStorage RN 实现的包装器 mult
  • Android 应用程序显示状态已发布但无法安装,表示预注册而不是安装

    从文档中可以看出 如果应用程序状态已发布 则应该可以下载 但对我来说 我没有安装选项 而是预先注册 我应该等多久才能显示安装 谢谢 The 预注册帮助页面位于此处 https support google com googleplay an
  • 如何去掉 ASP.NET MVC 路由中的问号?

    我定义了以下路线 theme subtheme contenttype contentdetail Print 当我使用 Url Action PrintLayout Page new contentUrlTitle Model Conte
  • 如何修复 UTF-8 解码错误的字符串?

    我正在使用来自 RESTful API 的数据 它返回字符串和整数值 但是 它似乎返回了一些错误编码 解码的字符串值 可能 预期字符串 crian a 收到的字符串 crian a 这是我的代码 url https analytics us
  • python循环并为列的每个值创建新的数据框

    我想为车站的每个唯一值创建一个新的数据框 我尝试了下面的方法 只给出了 dataframe tai new i 中更新的最后一个站数据 tai station unique has 500 values for i in tai stati
  • 角度2更改位置以固定在滚动上

    我有一个位置固定的左侧边栏 我想要实现的是 当我滚动大约 50 或 60 像素时 左侧边栏的位置应更改为固定 左侧栏 component ts import Component from angular core Component mod
  • 中继现代嵌套分页

    我有一个根查询songs 这是在分页容器中 然后我在歌曲上有一个嵌套属性 称为comments我也想分页 因为我不想一次为每首歌加载 10k 条评论 歌曲容器 js fragment songsContainer on Query song
  • 在 WPF XAML 中,如何连接 2 个常量以便可以使用预定义路径?

    我想用 c 常量替换源路径的路径部分 以便于路径管理 例如我有
  • 将 PDF 文件中的数据读取到 R 中

    这还可能吗 我有一堆旧报告需要导入到数据库中 不过 它们都是 pdf 格式 有没有R可以阅读pdf的软件包吗 或者我应该将其留给命令行工具 这些报告是用 Excel 制作的 然后以 pdf 形式生成 因此它们具有规则的结构 但有许多空白的
  • QTableWidget Item获取Widget类型并访问它

    我正在尝试对 QtableWidget 中的行进行求和 但这样做时出现分段错误 不确定是什么原因造成的 但我认为这与我将单元格小部件项目设置为旋转框而我没有这样做有关正确访问它们 当我在 cellChanged 事件中设置它时 当旋转框发生