标签: qstring

同时使用std :: string和QString

我在一个正在研究图形和GUI组件的软件系统中广泛使用Qt.但是,对于大多数内部算法和数据处理,Qt起着较小的作用.

我经常会遇到从std :: string转换为QString的需要,反之亦然.我倾向于尽可能多地使用std :: string,并且只有当我需要将字符串传递给Qt类时才使用QString,就像那些使用文件系统的类一样.

正如我今天早上编程的那样,让我觉得在我的代码中散布std :: string和QString可能是一个糟糕的设计.我应该完全切换到QString吗?还有其他人遇到过这种设计选择吗?

Qt提供了许多与STL相同的功能,但由于Qt不太标准化和稳定,我仍然犹豫不决.

c++ string qstring qt stl

9
推荐指数
2
解决办法
3163
查看次数

奇怪的Qt代码与字符串

我发现了我朋友的Qt代码,他在两个上使用模运算符,QString如下所示:

QString result = oneString % twoString;
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

c++ qstring qt

9
推荐指数
2
解决办法
894
查看次数

for循环中的Qt字符串构建器

按照文档和文档,我将在for循环中使用QStringBuilder.我应该应用它的代码是

QStringList words;
QString testString;

for (auto it = words.constBegin(); it != words.constEnd(); ++it)
{
    testString += "[" + *it + "] ";
}
Run Code Online (Sandbox Code Playgroud)

但是我不明白如何编写它来使用QStringBuilder,因为我在做一个赋值,而QStringBuilder要求我使用%运算符,并且只在文档后面做一个赋值.

c++ stringbuilder qstring qt4

9
推荐指数
1
解决办法
7822
查看次数

Qt - 使用几种类型的空格作为分隔符来拆分QString

我正在寻找拆分QString.QString中有几个单词,由以下符号中的一个或多个(!)分隔:

  • 空白
  • 标签
  • CR
  • 如果

我只想提取单词.基本上,我试图复制Python str.split()函数的行为.

我知道我可以使用正则表达式来实现这一点,但它会是什么样子?任何其他直接实现这一目标的方法也是受欢迎的.

c++ regex qstring qt split

9
推荐指数
1
解决办法
1万
查看次数

将QStringList打包到QString并将其解包

我正在寻找一种简单而万无一失的方法来将任意转换QStringList为单个QString和后退.

QStringList fruits;
fruits << "Banana", "Apple", "Orange";
QString packedFruits = pack(fruits);
QStringList unpackFruits = unpack(packedFruits);

// Should be true 
// fruits == unpackFruits;
Run Code Online (Sandbox Code Playgroud)

对于这类问题,最简单的解决方案是什么?

c++ qstring qt

9
推荐指数
3
解决办法
1万
查看次数

如何从QTextStream创建QString?

这会有用吗?

QString bozo;
QFile filevar("sometextfile.txt");

QTextStream in(&filevar);

while(!in.atEnd()) {
QString line = in.readLine();    
bozo = bozo +  line;  

}

filevar.close();
Run Code Online (Sandbox Code Playgroud)

bozo会不会是sometextfile.txt的全部内容?

qstring qt

8
推荐指数
1
解决办法
9926
查看次数

如何计算QString Qt中的特定字符

想象一下,我有一个包含这个的QString:

"#### some random text ### other info
a line break ## something else"
Run Code Online (Sandbox Code Playgroud)

我怎样才能知道我的QString中有多少哈希?换句话说,如何从这个字符串中获取数字9?


回答

感谢答案,解决方案非常简单,忽略了在使用count()方法的文档中,您可以传递您正在计算的参数.

c++ qstring qt qt5

8
推荐指数
1
解决办法
1万
查看次数

将qint64转换为QString

对于其他类型,我可以轻松地做类似的事情

mitm.created().toString("yyyy-MM-dd")
Run Code Online (Sandbox Code Playgroud)

是否有类似的功能将qint64转换为QString?你可以在下面找到代码.

    fileArray.append("[");
    foreach(QFileInfo mitm, mDir.entryInfoList(QDir::Files)){
        fileArray.append("{\"filePath\": \"");
        fileArray.append(mitm.absoluteFilePath());
        fileArray.append("\",");
        fileArray.append("\"fileCreated\": \"");
        fileArray.append(mitm.created().toString("yyyy-MM-dd"));
        fileArray.append("',");
        fileArray.append("'fileSize': '");
//      fileArray.append(mitm.size());
        fileArray.append("\"}");
        if(fileCount!=mDir.entryInfoList(QDir::Files).count()-1){ fileArray.append(","); }
        fileCount++;
    }
    fileArray.append("]");
Run Code Online (Sandbox Code Playgroud)

我已经注释掉了破坏代码的行.我有相同的日期问题,但用toString来转换它.我希望qint64会有类似的解决方案.

c++ qstring qt qt4 qtcore

8
推荐指数
3
解决办法
1万
查看次数

如何以特定格式将QString转换为QDate?

我有一个QDateEdit在我的GUI中,我将其转换QDateQString并将其添加到我的数据库.该QString日期被保存在这种格式的数据库:20/12/2015.

如果用户想要编辑日期,那么我需要QDateEdit再次在GUI 上的字段上显示日期.因此,我需要获取数据库,带回日期(QString格式为)并将其QDate再次转换回来,以便将其放在QDateEditGUI 上的字段上.

但是,我无法将该QString格式(即:2015年12月20日)转换为QDate使用以下内容:

QString date_string_on_db = "20/12/2015";
QDate Date;
Date.fromString(date_string_on_db,"dd/MM/YYYY");
Run Code Online (Sandbox Code Playgroud)

Date总是返回invalid.

我该怎么办 ?

c++ qstring qt qdate

8
推荐指数
1
解决办法
1万
查看次数

QString :: arg()在占位符后面带有数字

我想在字符串上使用.arg().这是一个例子:

qDebug() << QString("%11%2").arg(66).arg(77);
Run Code Online (Sandbox Code Playgroud)

我想得到输出,66177但当然这不是实际输出,因为%11被解释为占位符#11而不是占位符#1后跟一个文字1.

有没有比以下更好的解决方案?

qDebug() << QString("%1%2%3").arg(66).arg(1).arg(77);
Run Code Online (Sandbox Code Playgroud)

qstring qt

8
推荐指数
1
解决办法
551
查看次数

标签 统计

qstring ×10

qt ×9

c++ ×8

qt4 ×2

qdate ×1

qt5 ×1

qtcore ×1

regex ×1

split ×1

stl ×1

string ×1

stringbuilder ×1