qlist

QList generic join() function with template

北城以北 提交于 2021-01-29 18:17:21
问题 I am trying to make a generic join() function for QList (like join() for QStringList) in order to make a toString() function for a QList of any type. This function takes a QList, a separator and a function to dertermine how to print items. Consider this code : #include <QList> #include <QDebug> template <class T> static QString join(const QList<T> &list, const QString &separator, const std::function< QString (const T &item) > toStringFunction) { QString out; for(int i = 0; i<list.size(); i++)

Why doesn't QList have a resize() method?

醉酒当歌 提交于 2020-12-04 17:39:13
问题 I just noticed that QList doesn't have a resize method, while QVector , for example, has one. Why is this? And is there an equivalent function? 回答1: I think reason is because QList doesn't require the element type to have a default constructor. As a result of this, there is no operation where QList ever creates an object it only copies them. But if you really need to resize a QList (for whatever reason), here's a function that will do it. Note that it's just a convenience function , and it's

贪心项目:搭建sample问答系统

时光总嘲笑我的痴心妄想 提交于 2020-03-11 18:01:56
本次项目的目标是搭建一个基于检索式的简单的问答系统。至于什么是检索式的问答系统请参考课程直播内容/PPT介绍。 通过此项目,你将会有机会掌握以下几个知识点: 字符串操作 2. 文本预处理技术(词过滤,标准化) 3. 文本的表示(tf-idf, word2vec) 4. 文本相似度计算 5. 文本高效检索 此项目需要的数据: dev-v2.0.json: 这个数据包含了问题和答案的pair, 但是以JSON格式存在,需要编写parser来提取出里面的问题和答案。 glove.6B: 这个文件需要从网上下载,下载地址为:https://nlp.stanford.edu/projects/glove/, 请使用d=100的词向量 检索式的问答系统 问答系统所需要的数据已经提供,对于每一个问题都可以找得到相应的答案,所以可以理解为每一个样本数据是 <问题、答案>。 那系统的核心是当用户输入一个问题的时候,首先要找到跟这个问题最相近的已经存储在库里的问题,然后直接返回相应的答案即可。 举一个简单的例子: 假设我们的库里面已有存在以下几个<问题,答案>: <"贪心学院主要做什么方面的业务?”, “他们主要做人工智能方面的教育”> <“国内有哪些做人工智能教育的公司?”, “贪心学院”> <“人工智能和机器学习的关系什么?”, “其实机器学习是人工智能的一个范畴

学习QT之容器类

断了今生、忘了曾经 提交于 2020-03-01 12:27:17
学习QT之容器类 Qt提供了一组通用的基于模板的容器类。对比C++的标准模板库中的容器类,Qt的这些容器更轻量、更安全并且更容易使用。此外,Qt的容器类在速度、内存消耗和内联(inline)代码等方面进行了优化(较少的内联代码将说件可执行程序的大小)。 存储在Qt容器中的数据必须是可赋值的数据类型,也就是说,这种数据类型必须提供一个默认的构造函数、一个复制构造函数和一个赋值操作运算符。 这样的数据类型包含了通常使用的大多数数据类型,包括基本数据类型(如int和double等)和Qt的一些数据类型(如QString、QDate和QTime等)。不过,Qt的QObject及其他的子类(如QWidget和QDialog等)是不能存储在容器中的,例如: QList list; ,一个可代替的方案是存储QObject及其子类的指针,例如:QList<QToolBar *> list。容器也可以嵌套使用,例如:QHash<QString,QList >; 注意容器类嵌套时后面的 > 之间 一定要加一个空格 ,否则,C++编译器会将两个 > 符号解释为 >> ,导致无法通过编译器编译。 一、QList类、QLinkedList类和QVector类 1、QList类 QList是迄今为止最常用的容器类,它存储给定数据类型T的一列数值。继承自QList类的子类有QItemSelection

QList用法

杀马特。学长 韩版系。学妹 提交于 2020-02-26 19:13:56
QList常用函数 public函数 void append ( const T & value ) // 从尾部添加 void append ( const QList < T > & value ) // 从尾部添加 const T & at ( int i ) || T value ( int i ) const const T & back ( ) T & first ( ) T & front ( ) iterator begin ( ) iterator end ( ) bool contains ( const T & value ) const int count ( const T & value ) const int count ( ) || int size ( ) const bool empty ( ) const || bool isEmpty ( ) bool endsWith ( const T & value ) bool startsWith ( const T & value ) iterator erase ( iterator pos ) // 删除,并后移 int indexOf ( const T & value , int from = 0 ) const void insert ( int i , const T & value

双重嵌套结构体嵌套的调用

妖精的绣舞 提交于 2020-02-07 07:55:02
具体如下: typedef struct Student { char name [ 10 ] ; } Stu ; typedef struct Qlist { Stu p_1 ; //情况一 Stu * p_2 ; //情况二 } Qlist ; void print ( Stu * ps ) { printf ( "%s\n" , ps -> name ) ; } int main ( ) { Qlist * s = ( Qlist * ) malloc ( sizeof ( Qlist ) ) ; //需要创建一个Qlist结构体类型的空间 s -> p_2 = ( Stu * ) malloc ( sizeof ( Stu ) ) ; //如果 情况一 则不写, 情况二需创建一个Stu结构体类型的空间 scanf ( "%s" , & s -> p_1 . name ) ; print ( "%s\n" , & s - p1 . name ) ; // 一 scanf ( "%s" , & s -> p_2 -> name ) ; printf ( "%s\n" , & s -> p2 -> name ) ; // 二 return 0 ; } 来源: CSDN 作者: 丶独醒 链接: https://blog.csdn.net/m1059247324/article

QT学习之路2 学习笔记

跟風遠走 提交于 2020-02-07 00:02:59
QT学习之路2 学习笔记 1.Qt 是一个著名的 C++ 应用程序框架。你并不能说它只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件。使用 Qt,在一定程度上你获得的是一个“一站式”的解决方案:不再需要研究 STL,不再需要 C++ 的<string>,不再需要到处去找解析 XML、连接数据库、访问网络的各种第三方库,因为 Qt 自己内置了这些技术。 2.Qt 是一个跨平台的框架。跨平台 GUI 通常有三种实现策略: API 映射;API 模拟;GUI 模拟; 3.Qt 和 wxWidgets 一样,也是一个标准的 C++ 库。但是它的语法类似于 Java 的 Swing,十分清晰,而且使用信号槽(signal/slot)机制,让程序看起来很明白——这也是很多人优先选择 Qt 的一个很重要的原因。不过,所谓“成也萧何,败也萧何”。这种机制虽然很清楚,但是它所带来的后果是你需要使用 Qt 的 moc 对程序进行预处理,才能够再使用标准的 make 或者 nmake 进行正常的编译,并且信号槽的调用要比普通的函数调用慢大约一个数量级 4.main()函数一般以创建 application 对象(GUI 程序是QApplication,非 GUI 程序是QCoreApplication。QApplication实际上是QCoreApplication的子类。) 5

随网页滚动条漂浮的可展开和收起的QQ代码 转

谁说胖子不能爱 提交于 2020-01-25 05:17:59
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <html xmlns=" http://www.w3.org/1999/xhtml "> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>可展开和收起的在线客服代码 - 阿里西西网页特效</title> <style type="text/css"> img{border:0;} ul,li{padding:0;margin:0;} .QQbox {z-index:99;right:0;width:128px;height:128px;position:absolute;} .QQbox .press{right:0;width:36px;cursor:pointer;position:absolute;height:128px;} .QQbox .Qlist{left:0;width:131px;position:absolute;height:128px;background:url( http://js

Qt 5.5 project build error in Qt 5.8

本小妞迷上赌 提交于 2020-01-11 13:51:07
问题 I was developing a simple application on Qt 5.5. Since Qt 5.5 does not have QChart class features, I had to install and build my Qt 5.5 project on the 5.8 distribution. For my project I am using this 3rd party software called the QXlsx to create and edit Excel spreadsheets. This library was working flawlessly in Qt 5.5 but fails to compile on the Qt 5.8 version. The compilation returns the following error; /Users/Vino/Documents/My Stuff/Qt Projects/Fundemental Analysis/FundementalAnalysis

Populating QVector from QList

六眼飞鱼酱① 提交于 2020-01-04 08:16:28
问题 I have a QList and QVector. I populate Qlist and then tried to copy to QVector. Ovector has a fromList() method. But it do not work. My code : QList<int> listA; QVector<int> vectorA; //I also tried QVector<int>vectorA(100); for(int i=0; i<100; i++) { listA.append(i); } vectorA.fromList(listA); After this code vectorA returns empty I use Qt 4.8.5 under Linux 回答1: You should write: vectorA = QVector::fromList(listA); as fromList is a static method of the class QVector . The code you wrote