{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreib5tmywhxwbtgnboakj3wg7zsfmkoyvncanbfyg7z7oc7hkan7bbu",
    "uri": "at://did:plc:6dmfe46c76jjenq3kaxc5eds/app.bsky.feed.post/3mfsgxqwh6tp2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreidt6po67tqaa6lbxxzwoi5upch2dmt5wm4wgltfon3avaxhqtr4yi"
    },
    "mimeType": "image/png",
    "size": 1344833
  },
  "path": "/blog/new-in-qt-6.11-qrangemodel-updates-and-qrangemodeladapter",
  "publishedAt": "2026-02-25T12:39:10.000Z",
  "site": "https://www.qt.io",
  "tags": [
    "introducing QRangeModel"
  ],
  "textContent": " \n\nWhen introducing QRangeModel for Qt 6.10 I wrote that we'd try to tackle some limitations in future releases. In Qt 611, `QRangeModel` supports caching ranges like `std::views::filter`, and provides a customization point for reading from and writing role-data to items that are not gadgets, objects, or associative containers. The two biggest additions make it possible to safely operate on the underlying model data and structure without using `QAbstractItemModel` API.",
  "title": "New in Qt 6.11: QRangeModel updates and QRangeModelAdapter"
}