带有 QAbstractListModel 的 QListView 显示空列表

2023-11-27

我创建了一个非常简单的例子QListView与定制QAbstractListModel. The QListView显示但它是空的。

我究竟做错了什么?

Code:

#include <QListView>
#include <QAbstractListModel>
#include <QApplication>

class DataModel: public QAbstractListModel
{
public:
    DataModel() : QAbstractListModel() {}
    int rowCount( const QModelIndex & parent = QModelIndex() ) const { return 2; }
    QVariant data( const QModelIndex & index, int role = Qt::DisplayRole ) const
    {
        return "a";
    }
};

int main( int argc, char **argv)
{
    QApplication app(argc, argv, true);
    QListView *lv = new QListView();
    DataModel d;
    lv->setModel( &d ); 
    lv->show();
    app.setMainWidget(lv);
    app.exec();
}

Thanks!

对先前代码的修复是将模型的父级设置为QListView:

DataModel d(lv);

但这提出了一个问题,如果模型必须引用视图,那么模型/视图独立性在哪里?

如果我想在两个不同的视图中使用这个模型怎么办?


仅当 role = Qt::DisplayRole 时,您的方法数据才应返回“a”。否则,它会为每个角色返回“a”。

因此,添加一个简单的测试就可以了:

  QVariant data( const QModelIndex & index, int role = Qt::DisplayRole ) const
{
    if ( role == Qt::DisplayRole ) {
      return "a";
    }
    return QVariant();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 QAbstractListModel 的 QListView 显示空列表 的相关文章

  • QStyledItemDelegate 绘制自定义小部件失败

    在我的一个项目中 我使用的是QTableWidget为了显示一些复杂的计算结果 为了提高表格的可读性 我需要在单个表格单元格内显示两个对齐的值 后来我想通过使用颜色或箭头等来进一步自定义小部件 为此我源自QStyledItemDelegat
  • 如何让小部件在上下文菜单出现时接收鼠标释放事件

    在Ubuntu20 04上 当上下文菜单出现时 我无法让小部件接收鼠标释放事件 而Windows可以接收 我的pyqt版本是5 15 2 我考虑过手动发送鼠标释放事件 但我不知道当上下文菜单出现时哪些系统会收到鼠标释放事件 这样做可能会导致
  • Qt 为什么使用 QString::number() 而不是 QLocale().toString()?

    我正在开发的应用程序将在许多国家推出 并且需要支持他们的语言 我一直在回顾我的代码并替换以下每个实例 QString number and QString toDouble with QLocale toString and QLocale
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • QMainWindow 上的 Qt 布局

    我设计了一个QMainWindow with QtCreator s设计师 它由默认的中央小部件 aQWidget 其中包含一个QVBoxLayout以及其中的所有其他小部件 现在我想要的一切就是QVBoxLayout自动占据整个中央小部件
  • 如何在Qt 5中的paintEvent上使用mouseMoveEvent?

    我是 Qt 和 c 的新手 所以我遇到了一些困难 我正在尝试创建一个小部件 它可以获取 mouseMoveEvent 位置并在鼠标位置的像素图上绘制椭圆 下面你可以看到代码 include myimage h include
  • 如何声明一个带有成员函数指针的函数

    我有一个类 其中的成员变量指向库对象 class myClassA private libraryClass libraryObject 该库类发出事件 以字符串为特征 并提供一种机制 允许客户端类指定在发出事件时应调用的成员函数 因此在m
  • QML 中可重用的字体属性[重复]

    这个问题在这里已经有答案了 在 QML 中 我希望能够定义一组字体属性以进行简单的语义重用 例如 代替 Text text This is a header font family Encode Sans weight Font Black
  • 如何在针对 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:不完整类型和前向声明的使用无效

    我有一些误解 A h ifndef A H define A H include B h class A public B Q OBJECT public A endif A cpp include A h A A B ui gt blan
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • QFileSystemModel setRootPath

    我正在尝试创建一个 Qt 应用程序来显示文件夹 Mac OS 中的 Users 文件夹 的内容 这是代码 QFileSystemModel dirModel new QFileSystemModel dirModel gt setRootP
  • 使用 QGraphicsScene 和 QGraphicsView 在 Qt 中开始基于 Tile 的游戏

    我将开始在 Qt 中编写基于 2D 图块的游戏 并阅读 QGraphicsScene 和 QGraphicsView 类 这些类旨在显示和处理大量 2D 对象 我的问题是 使用 QGraphicsScene 创建一个包含大量图块的世界是否可
  • 使用 QNetworkAccessManager 的 Qt 控制台应用程序

    我正在尝试写一个Qt调用网络服务的应用程序 这是一个控制台应用程序 url 将作为命令行参数传入 我搜索了例如http程序在Qt并找到这个链接 http qt project org doc qt 5 qnetworkaccessmanag
  • 使用 C++ 访问 Azure blob 存储 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • Qt 5.3 QPlainTextEdit 更改 QTextCursor 颜色

    我想更改下面的光标颜色QPlainTextEdit小部件 我能够将其宽度设置为6 但我想改变颜色或者它 是否可以 QFontMetrics fm font setCursorWidth fm averageCharWidth setCurs
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在不声明 32 个插槽的情况下将 32 个按钮的 pressed() 信号连接到单个函数?

    我有一个小部件 里面有 32 个按钮 我需要将每个按钮的 Pressed 信号连接到一个插槽 以便调用一个函数 该函数的参数取决于我按下的按钮 现在我通过以 on QPushButtonName pressed 的形式添加 32 个插槽来做
  • Qt 和 Sqlite 示例

    我正在寻找一些使用 Qt 的示例代码 它是带有 Sqlite 驱动程序的 SQL 模块 我需要示例的主要原因是我之前有 Qt 数据库接口的经验 并且 Sqlite 在字段类型方面有一些奇怪的行为 类型是按字段存储的 而不是按列存储的 The

随机推荐

  • NSURLConnection 是否利用了 NSURLCache?

    我试图弄清楚如何使用 URL 加载框架来利用缓存来加载 URL 我正在使用 NSURLConnections 并向它们提供 NSURLRequests 我什至将这些请求的缓存策略设置为 NSURLRequestReturnCacheData
  • 如何使用 swift 设置多注释数组

    下面的数组应该如何设置 我试图在我的地图上添加多个注释 我能够在 stackoverflow 上找到下面的代码 但他们没有显示如何设置数组 var objects how should the array be setup here for
  • 按后退关闭 Android 弹出窗口

    我创建了一个 Android 应用程序 在其中创建了一个弹出屏幕 但是当我按下后退按钮时 弹出窗口没有关闭 我尝试过 onBackPressed 它不起作用 有人可以告诉我该怎么做吗 Regards Shankar 你需要做的就是打电话设置
  • 从 forEach 循环中的第二项开始

    我需要从数组中的第二项开始 为了保存正确的上下文 我需要使用forEach而不是简单的for loop 我已经用下一种方式做到了 private convertToRanges arr any const inputArr arr slic
  • PHP 和 Apache 环境变量

    我想在启动时将linux中的环境变量传递给apache 导出 MYVAR 5 我在命令行定义我的环境变量 PassEnv MYVAR 设置apache导入apache配置文件中的变量 apachectl 重新启动 当我重新启动 apache
  • 给定一个方法,在 Python 3.3 及以上版本中如何返回它所属的类?

    Given x C f after class C def f self pass 我该呼吁什么x将会返回C 我能做的最好的就是exec解析的一部分x qualname 这很难看 exec d join x qualname split 1
  • 如何通过嵌入的 URL 将参数传递给 PowerBI Embedded

    我有一个 IFrame 它显示具有世界地图的 Power BI 嵌入式报告 我可以将参数传递给 Power BI Embedded 与嵌入式 URl 来根据特定国家 地区筛选我的报告吗 Thanks 嵌入报告时 请将以下内容添加到 ifra
  • 按角度旋转整个 qwidget

    我正在 wt 中创建简单的俄罗斯方块 并继承了小部件来创建片段 我在游戏中放置了四个片段 四个不同的类 我在每件作品中都借鉴了绘画事件 如何旋转小部件 我可以在 painEvent 函数中绘制旋转图像 但我宁愿旋转整个小部件 这在 qt 中
  • PHP长轮询,无需过多的数据库访问

    我一直很喜欢长轮询的想法 在我的开发服务器上 我玩过各种通知 新帖子系统 每个系统都使用 javascript 来保持连接并 等待 某种响应 我一直对这种方法的许多实现存在疑问 它们都涉及重复轮询 mySQL 服务器以检查新行 可以使用专门
  • 删除 SQL Server 中字符串中的所有空格

    在 SQL Server 2008 中删除字符串中所有空格的最佳方法是什么 LTRIM RTRIM a b 将删除字符串右侧和左侧的所有空格 但我还需要删除中间的空格 只需更换即可 SELECT REPLACE fld or variabl
  • iOS 中何时刷新收据与恢复购买?

    我们的 iOS 应用程序使用应用程序内购买 包括一次性订阅和自动续订订阅 这两个都是非消耗品 iOS 提供了两个 API 刷新收据 and 恢复已完成的交易 似乎后者适用于所有情况 而前者仅适用于某些情况 具体来说 当我们将自动续订购买恢复
  • Golang使用goroutines并行下载多个文件

    是否可以使用 goroutine 并行下载和保存文件 下面是我的代码 它从我的保管箱下载文件 package main import encoding json fmt io io ioutil net http net url os pa
  • 事件中心是否应该根据消息类型进行拆分?

    我正在考虑将 Azure 事件中心用于我当前正在进行的项目 今天我们使用服务总线队列来执行命令 在这里我们为每种消息类型使用一个队列 拥有多个事件中心是否有意义 还是使用一个中心处理多种消息类型更好 这是一个充满权衡和判断的问题 您希望现在
  • 如何通过 JavaScript 获取通过 CSS 设置的准确 RGBa 值?

    在我尝试过的大多数浏览器中 rgba 一旦浏览器解析了 CSS 值似乎就会改变 例如 以下 CSS background color rgba 255 0 0 0 5 通过访问时给出以下 CSS 值jQuery css background
  • 管理核心数据 iCloud 事务日志

    我正在将 iCloud 与 Core Data 结合使用 基于 Apple 指定的 SQLite 库式 应用程序设计 虽然基本功能运行得很好 但我担心事务日志及其管理方式 虽然我的应用程序的数据库并不大 但它非常活跃 并且在应用程序使用过程
  • OS X 产品签名错误:找不到适当的签名身份

    我正在尝试使用命令行实用程序签署 OS X 安装程序包产品标志 但出现错误 productsign sign Developer ID Installer XYZ input pkg output pkg productsign error
  • 如何在mysql中按年龄段对用户数量进行分组

    本质上我有一个 mysql 数据库 其中包含用户及其相应的出生日期 我还发现了以下代码 可以帮助我找到用户从出生日期算起的实际年龄 查找出生日期我需要做的是找到不同的 年龄段 并计算该年龄段的用户数量 我也发现了this示例准确地展示了如何
  • 有没有办法让不和谐机器人通过accept_invite或类似的东西加入服务器?

    注意 我使用的是discord py 0 16 12 我想知道是否有任何方法可以让机器人在代码中加入服务器 就像有一个命令是这样的 client command pass context True async def join ctx in
  • 如何在pygame中显示文本? [复制]

    这个问题在这里已经有答案了 我无法弄清楚如何在 pygame 中显示文本 我知道我不能像常规 Python IDLE 那样使 用 print 但我不知道如何使用 import pygame sys from pygame locals im
  • 带有 QAbstractListModel 的 QListView 显示空列表

    我创建了一个非常简单的例子QListView与定制QAbstractListModel The QListView显示但它是空的 我究竟做错了什么 Code include