Qt学习之路(49): 通用算法

发布于 2022-09-18 11:38:20 字数 3546 浏览 22 评论 0

关于Qt的model-view部分就告一段落,今天我们开始新的部分。或许有些朋友觉得前面的部分说得很简单。对此我也没有办法,毕竟,Qt是一个很庞大的库,一时半会根本不可能穷尽所有内容,并且我也有很多东西不知道,有时候也必须去查找资料才能明白。
  今天开始的部分是关于Qt提供的一些通用算法。这部分内容来自C++ GUI Programming with Qt 4, 2nd Edition。
  提供了一系列通用的模板函数,用于实现容器上面的基本算法。这部分算法很多依赖于STL风格的遍历器(还记得前面曾经说过的Java风格的遍历器和STL风格的遍历器吗?)。实际上,C++ STL也提供了很多通用算法,包含在 头文件内。这部分算法对于Qt容器同样也是适用的。因此,如果你想使用的算法在Qt的头文件中没有包含,那么就可以使用STL的算法代替,这并不会产生什么冲突。这里我们来说几个Qt中的通用算法。虽然这些算法都是很简单的,但是,库函数往往会比自己编写的更有效率,因此还是推荐使用系统提供的函数的。
  首先是qFind()函数。qFind()函数会在容器中查找一个特定的值。它的参数中有一个起始位置和终止位置,如果被查找的元素存在,函数返回第一个匹配项的位置,否则则返回终止位置。注意,我们这里说的“位置”,实际上是STL风格的遍历器。我们知道,使用STL风格遍历器是可以反映一个位置的。例如下面的例子,i的值将是list.begin() + 1,而j会是list.end():
QStringList list;
list 
          
                       
                               
编缉推荐阅读以下文章
                               

              
                         

  • Qt学习之路(48): 自定义委托
                        
                         

  • Qt学习之路(47): 自定义Model之三
                        
                         

  • Qt学习之路(46): 自定义model之二
                        
                         

  • Qt学习之路(45): 自定义model之一
                        
                         

  • Qt学习之路(44): QSortFilterProxyModel
                        
                         

  • Qt学习之路(43): QDirModel
                        
                         

  • Qt学习之路(42): QStringListModel
                        
                         

  • Qt学习之路(41): QTableWidget
                        
                         

  • Qt学习之路(40): QTreeWidget
                        
                         

  • Qt学习之路(39): QListWidget
                        
                                   

                       
                       
         

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文