QListView 中的 QT4 QstringListModel

2024-01-11

这是我的第一个 QT 问题 - 我通常是一名 C# 程序员,所以请原谅我问了一个愚蠢的问题,我确信有一个非常简单的答案,但我似乎找不到:

我想将项目添加到列表中,目前我们假设它们是字符串。 我有一个 QListView:UI->listView、一个 QStringList 和一个 QStringListModel:

stringList = new QStringList();
stringList->append("ABC");
stringList->append("123");

listModel = new QStringListModel(*stringList, NULL);
ui->listView->setModel(listModel);

stringList->append("xyz");

此示例在我的列表中编译并显示“ABC”和“123”,但不显示“xyz”。为什么不?我需要以某种方式重新绘制 listView 吗?我对 NULL 做错了什么吗?

Thanks.


如果您经常需要修改字符串列表并且有需要更新的连接视图,您可以考虑首先放弃 QStringList 并仅使用 QStringListModel。您可以使用 insertRows/removeRows 和 setData 添加/删除数据。这可确保视图始终以您期望的方式反映模型。可以将其包装起来以防止繁琐的工作。像(未经测试)的东西:

class StringList : public QStringListModel
{
public:
  void append (const QString& string){
    insertRows(rowCount(), 1);
    setData(index(rowCount()-1), string);
  }
  StringList& operator<<(const QString& string){
    append(string);
    return *this;
  }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QListView 中的 QT4 QstringListModel 的相关文章

随机推荐

  • 如何在 iOS 中使用 SVGKit 将 SVG 路径组件解析为 UIBezierPath?

    我正在 iOS 中使用 Swift 制作 SVG 图像动画 我已经能够使用 SVGKit 轻松渲染 SVG https github com SVGKit SVGKit https github com SVGKit SVGKit 但要对其
  • UIImage 不使用 Swift 显示

    用 Swift 编写的用于显示 UIImages 的代码可以在 iOS 8 0 模拟器中运行 但由于某种原因无法在运行 IOS 7 0 的手机上运行 let image1 UIImage named img1 let imageview U
  • 温莎城堡 - 使用 InstallerFactory 的示例

    有人有一些使用温莎城堡 InstallerFactory 来订购安装程序安装的示例代码吗 似乎无法在文档或其他地方找到它 Cheers 您只能使用InstallerFactory连同FromAssembly class 使用 FromAss
  • 是否有解决方法可以为“csv.reader”使用多字符分隔符?

    目前只允许使用一个字符 Dialect delimiter 用于分隔字段的单字符字符串 它 默认为 https docs python org 3 6 library csv html csv Dialect delimiter https
  • 箭头的创意运用

    我刚刚读了帖子单子的创造性用途 https stackoverflow com questions 412929 creative uses of monads 其中充满了非常有趣的想法和参考 所以我很好奇 箭头怎么样 我并不是在寻找有关基
  • 使用 Java2d 平滑绘图而不使用 Opengl 或 Direct3d Pipelines?

    当 opengl 和 direct3d 管道被禁用时 我无法找到一种方法来使用 Java2d 获得任何东西的平滑移动或动画 通过使用 Dsun java2d d3d false 和 Dsun java2d opengl false 调用虚拟
  • JavaFX 2.2:设置表格单元格样式并处理行伪类(悬停、选定等)

    我正在开发一个 JavaFX 应用程序 其中包含一个带有特殊单元格的 TableView 这样当单元格中的数据无效时 单元格就会变成红色 这对于 css 来说很容易 但是我在覆盖 TableCell 的所有伪类时遇到了麻烦 import j
  • 在intellij上发起一场战争

    我有一个 Java EE 项目 已导入 IntelliJ 中 我可以编译该项目 但由于某种原因无法构建战争工件 当我转到build选项卡
  • Delphi 7 中的圆形标题为“TPanel”

    我的应用程序中有一个 TPanel 但外观不同 对于它 我想要一个彩色标题栏和圆角的上角 就像在某些用户界面中一样it http demo bricolagecms org login welcome html referer login
  • 如何使用外部 JavaScript 代码访问和更新 Bokeh 图或小部件?

    我有一个由时间散景滑块控制的散景图 我试图通过单击按钮将滑块的时间和相应的绘制数据设置为浏览器的当前时间 如果一切都完全用 JS 开发 我知道如何做同样的事情 但我正在编写嵌入 HTML 文件中的外部 JS 函数 并且我不知道如何访问 Bo
  • Spring MVC 测试(安全集成测试),JSESSIONID 不存在

    我为我的 Spring Boot 应用程序创建了自定义登录表单 在我的表单集成测试中 我想检查收到的 cookie 是否包含JS会话ID and XSRF 令牌 但是 我只收到了XSRF 令牌 这是我的测试 RunWith SpringJU
  • python/numpy 中的线性组合

    问候 我不确定这是否是一个愚蠢的问题 假设我有 3 个 numpy 数组 A1 A2 A3 和 3 个浮点数 c1 c2 c3 我想评估 B A1 c1 A2 c2 A3 c3 numpy 会计算这个 例如 E1 A1 c1 E2 A2 c
  • 如何更改滚动条拇指的高度?

    有没有办法将滚动条的高度更改为固定高度并相应地更改滚动的内容量 这是我当前的CSS代码 webkit scrollbar width 30px Track webkit scrollbar track box shadow inset 0
  • 在 AES-CTR 模式下正确使用随机数和计数器

    据我了解 在 AES 计数器模式下 我需要使用 128 位随机数 最简单的方法是使用随机 128 位随机数 但我不确定如果将其作为所有随机位传递 算法是否能够正确增加计数器 我认为正确的方法是使用 96 位随机数和从 0 开始的 32 位计
  • 为什么我们使用方括号而不是定义它的括号来调用 vec 宏?

    我正在学习 Rust 宏 并且在使用时对语法感到困惑vec The 源代码 https github com rust lang rust blob 1 35 0 src liballoc macros rs L38 L46实施vec ma
  • 我的 javascript web 工作人员在随机的地方默默地死去。我该如何调试这个?

    网络工作者只是停止 没有错误或任何东西 代码是完全确定性的 但它会在代码的不同点处终止 编辑 问题是我没有维护对我的工人的引用 因此他们在被垃圾收集时似乎随机死亡 问题是我没有维护对我的工人的引用 因此他们在被垃圾收集时似乎随机死亡
  • Pybrain交叉验证方法

    我尝试对我的数据使用交叉验证器 但成功率是 0 0 这没有意义 我的数据由具有 5 个连续属性和两个可能的类别的样本组成 y 和 n My code net pybrain tools shortcuts buildNetwork 5 8
  • 从 Postman 中的对象数组中提取值

    我想从 Postman 中的对象数组中提取 Id 值 然后将其设置为环境变量 如果 JSON 响应是一个对象 则以下脚本可以工作 但不适用于对象数组 我的数组只有一个对象 var data JSON parse responseBody p
  • 有没有办法以编程方式读取 Java 中的 .jmod 文件?

    我用 7 zip 打开了一个 jmod 文件 我可以看到内容 我尝试用 ZipInputStream 以编程方式读取它 但它不起作用 有人知道怎么做吗 中没有文档JEP 261 模块系统 https openjdk java net jep
  • QListView 中的 QT4 QstringListModel

    这是我的第一个 QT 问题 我通常是一名 C 程序员 所以请原谅我问了一个愚蠢的问题 我确信有一个非常简单的答案 但我似乎找不到 我想将项目添加到列表中 目前我们假设它们是字符串 我有一个 QListView UI gt listView