使用 sortItems() 对 QListWidget 进行排序

2023-12-31

我在 QListWidget 上使用 sortItems() 时遇到问题。发生的情况如下:

改变这个:

A z d C 乙 哦 我

to this:

A C 我 d e 哦 z

但我希望它是:

A C d e 我 哦 z

有什么办法可以改变让它变得像这样吗?


QListWidget使用DisplayRole(项目的文本)进行排序和调用 QString::localeAwareCompare 对它们进行比较。要覆盖默认值,您可以更改使用的区域设置(请参阅QLocale http://doc.qt.io/qt-5/qlocale.html)或者有你自己的 QListWidgetItem 子类重新实现QListWidgetItem::运算符并让它进行您想要的比较。 http://doc.qt.io/qt-5/qlistwidgetitem.html#operator-lt

对于更高级的内容,我建议看看QListView http://doc.qt.io/qt-5/qlistview.html,您可以将其与您自己的模型实现或便利模型结合起来Q标准项目模型 http://doc.qt.io/qt-5/qstandarditemmodel.html or QStringList模型 http://doc.qt.io/qt-5/qstringlistmodel.html(后者可能是您的情况下最简单和优雅的解决方案)。为了排序,您可以放置​​一个QSortFilterProxy模型 http://doc.qt.io/qt-5/qsortfilterproxymodel.html位于实际模型和视图之间。

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

使用 sortItems() 对 QListWidget 进行排序 的相关文章

  • unix 下日期字段排序

    我有包含数十万条记录的文本文件 其中一个字段是日期字段 有没有办法根据日期字段对文件进行排序 09 APR 12 04 08 43 632279000 AM 19 MAR 12 03 53 38 189606000 PM 19 MAR 12
  • 无法运行 Qt 应用程序:找不到版本“Qt_5”

    我运行 Ubuntu 16 04 LTS 我的问题是我无法运行可以编译的 Qt5 应用程序 这是我尝试运行它时得到的结果 home user Desktop sconfig dist Release GNU Linux SCongif us
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 按相反顺序对列表进行排序

    我有直接顺序的列表 list1 List
  • 如何按键中的值对 Redis 哈希进行排序

    Redis 有没有一种好方法来获取按值排序的哈希中的键 我查看了文档 但没有找到直接的方法 另外有人可以解释一下redis中的排序是如何实现的 以及什么吗 本文档 http redis io commands SORT using hash
  • Q风格所有权

    在 Qt 应用程序中使用样式时 我遇到了一个有趣的问题QStyle所有权 QStyle继承自QObject 通常接受QObject parent作为构造函数参数来管理其子级的生命周期 但QStyle的构造函数没有此构造函数参数 第一个问题
  • 为什么 QT 设计器重新调整大小或不允许我缩小或展开小部件或按钮?

    很多时候 在使用 QT 设计器时 我发现自己需要通过缩小或扩展来调整事物的大小 每当我尝试这样做时 程序都不允许我这样做 而只是恢复到将对象放置在窗口中时给我的原始默认大小 无论我的布局如何 为什么要这样做 是否有可能改变这一点 以便我可以
  • 在 Qt 中,许多插槽连接到同一信号,它们在发出信号时是否按顺序调用?

    In the Qt文件说 如果多个插槽连接到一个信号 则这些插槽将 按照它们连接的顺序一个接一个地执行 当信号发出时 但在connect 功能 设置Qt ConnectionType输入为Qt QueuedConnection意思是 当控制
  • 是否可以根据 QSlider 的位置来改变其手柄的颜色?

    我非常清楚如何通过样式表自定义 QSlider 但我想知道是否可以执行以下操作 我希望滑块的手柄从蓝色变为黄色 当设置在左侧时 它是蓝色的 设置在左侧时 它是蓝色的 当你将它向右移动时 它会出现从蓝色到黄色的渐变 如果可以通过样式表 如何实
  • QFileDialog::getOpenFileName 调试时崩溃,显然是由项目名称引起的?

    我遇到了一个让我非常困惑的问题 我在 Windows 7 上使用 Qt Creator 3 1 2 和 Qt 5 3 使用 MSVC 10 0 编译器和 Windows 8 1 调试工具中的 CDB 不确定我是否应该寻找特定于 Window
  • 使用 QGraphicsScene 和 QGraphicsView 在 Qt 中开始基于 Tile 的游戏

    我将开始在 Qt 中编写基于 2D 图块的游戏 并阅读 QGraphicsScene 和 QGraphicsView 类 这些类旨在显示和处理大量 2D 对象 我的问题是 使用 QGraphicsScene 创建一个包含大量图块的世界是否可
  • Qt:将数字转换为 QString、QVariant 或 QString::number 哪个更好

    我只是好奇 比方说 我需要在控制台中输出一个数字 代码是 include
  • QByteArray 到整数

    正如您可能从标题中看出的那样 我在转换QByteArray为一个整数 QByteArray buffer server gt read 8192 QByteArray q size buffer mid 0 2 int size q siz
  • QT:模块“QtWebView”未安装

    我的操作系统是win10 QT版本是Qt5 7 mingw53 32 目标操作系统是win10 当我使用qmlscene执行qml文件时 发生了一些错误 qrc qml 3 模块 QtWebView 未安装 我的 qml 文件如下 impo
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • 对范围值进行排序

    我想对表示数值范围的字符串数组进行排序 如下所示 b 0 5 100 250 5 25 50 100 250 500 25 50 使用sort我得到的方法 b sort gt 0 5 100 250 25 50 250 500 5 25 5
  • 一个具有完全透明背景的qt小部件

    我需要创建一个 qt 小部件 它将充当其他一些小部件的父级 并对它们进行排序 现在的问题是如何使其背景完全透明 我想这样做 struct Imp Imp QWidget parent thisWidget new QWidget paren
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se

随机推荐

  • Android datarouter logcat错误消息

    所以我的 logcat 被这个 datarouter 错误发送了垃圾邮件 任何人都可以帮助我解决这个问题并告诉我为什么会发生这种情况 哦 我尝试过重新启动手机和 eclipse 编辑 这似乎主要发生在我的 Mac 工作计算机上 以下是每 3
  • iOS 6 方向问题

    我有一个应用程序 通常是一个纵向应用程序 只显示一个 UIViewController 的横向视图 在新的 iOS 6 发布之前它都可以正常工作 我真的不明白方向在 iOS 6 中是如何工作的 所以我写了一个测试应用程序 这是我所做的 设置
  • 硒测试无法与任何元素相互作用

    所以我知道当我将 Django 设置中的 DEBUG 设置为 False 时 Selenium 无法访问静态文件 导致如下所示 但是 当我运行 Selenium 测试时 无论它们都能够与 DOM 交互并从下拉列表中选择项目 我目前拥有的测试
  • PPL - 如何配置本机线程数?

    我正在尝试使用 PPL 来管理本机线程的数量Scheduler类 这是我的代码 for int i 0 i lt 2000 i configure concurrency count 16 to 32 concurrency Schedul
  • 从 jruby-complete 消耗宝石

    我可以让我的jruby complete消耗传递给它的罐子中的宝石 但我想使用中央宝石库 这就是我现在可以做的 java jar jruby complete 1 6 5 jar S gem list LOCAL GEMS rake 0 8
  • 如何使用 Greasemonkey 代码替换 Head 脚本

    我想将 script js 替换为 demo js 有人请帮助我 尽早运行您的脚本 run at document start 添加事件监听器beforescriptexecute并检查脚本源 当您检测到所需的脚本时 调用preventDe
  • legend.only=T 时的图例属性(栅格包)

    仅绘制图例时 raster对象 颜色条 require raster r raster r 1 plot r legend F plot r zlim c 10 10 legend only T 如何控制图例轴标签大小 刻度长度和其他图例属
  • 带有拼写修复1扩展的SQLite与第二个查询时实体框架核心崩溃一起使用

    相关剥离项目 https github com djon2003 mediarecognizer spellfix1 https github com djon2003 mediarecognizer spellfix1 导入部分已被删除
  • android 获取当前视频视图的屏幕截图

    我看到了很多关于此的老问题 也许现在有一些解决方案 我想截取视频视图当前帧的屏幕截图 Videoview 使用 rtsp 流显示实时视频 我尝试拍摄位图 但它总是黑色 public static Bitmap loadBitmapFromV
  • 使用数据 URL 绘制图像

    我将从脚本开始 function saveInstance savedInstance document getElementById canvasID toDataURL function restoreInstance ctx draw
  • 在活动状态 onStop 上关闭/隐藏 Android 软键盘

    我有一个EditText and a Button在我的布局中 在编辑字段中写入后 单击此按钮go back my fragment 我想隐藏虚拟键盘 我认为有一个简单的方法 但我尝试了一些方法 但它不起作用 该代码显示了如何Button
  • Spring-MVC RequestMapping URITemplate 中的可选路径变量

    我有以下映射 RequestMapping value first last method RequestMethod GET public String test PathVariable first String first PathV
  • 如何从批处理文件执行postgres的sql查询?

    我需要从批处理文件执行 SQL 我正在执行以下连接到 Postgres 并从表中选择数据 C pgsql bin psql h DB HOST p 5432 U DB USER d DB NAME select from test 我能够连
  • MYSQL 两个日期之间的过滤

    我有一个激励表 inc id int 11 inc date date inc projectname varchar 256 inc amount varchar 256 inc developer id int 11 inc sales
  • 克隆、拉取 Mercurial 存储库时出现 404 错误

    我这里有一个存储库http repos joomlaguruteam com http repos joomlaguruteam com 我使用 hgweb cgi 这是我的 hgweb config 文件 web baseurl allo
  • Bootstrap 工具提示显示在模式窗口后面

    我有一个模态窗口 其中包含以下内容div div class input group div class input group addon title Insert here your domain account name Html L
  • 强制 graphviz 中节点的从左到右顺序?

    我想使用 graphviz 绘制决策树图 我想要绘制的图表如下所示 我正在使用以下点语言 graph a A shape box label A B shape box label B al shape none label 0 bl sh
  • 非常简单的 jQuery .load 示例不起作用

    我认为这是一个非常简单的问题 但我似乎无法让它发挥作用 我需要使用 JavaScript 显然是 jQuery 从一个页面获取一些内容 并将其拉入另一个页面 我对此进行了相当多的研究 但似乎连一个非常简单的例子都无法工作 这是我试图从中获取
  • RESTful WCF 服务在发送“原始”XML 时返回 400 代码

    我已经为此苦苦挣扎了两天 所以希望有人能帮我 我拥有的是一个使用 WCF 编写的 RESTful Web 服务 实际上只是两个接受单个字符串参数并返回一个字符串的方法 参数和返回值都是直接的 XML ServiceContract publ
  • 使用 sortItems() 对 QListWidget 进行排序

    我在 QListWidget 上使用 sortItems 时遇到问题 发生的情况如下 改变这个 A z d C 乙 哦 我 to this A C 我 d e 哦 z 但我希望它是 A C d e 我 哦 z 有什么办法可以改变让它变得像这