标签: qstring

如何连接 QString 和 int

我正在尝试将选项卡上显示的文本设置为这样的

~Untitled(n)
Run Code Online (Sandbox Code Playgroud)

其中“n”是选项卡的索引。我在连接字符串和整数时遇到问题。这是我尝试过的。

armaTab->addTab(new QWidget, "~Untitled (" + QString(armaTab->currentIndex() + 1) + ")");
Run Code Online (Sandbox Code Playgroud)

有了这个,我最终得到了这样的东西:

~Untitled([])
Run Code Online (Sandbox Code Playgroud)

连接字符串和整数以产生所需结果的正确方法是什么?

c++ qstring qt

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

从 QString 获取 Sha1 哈希

在我的 Qt5.6.1 程序中,我必须从 QString 获取 Sha-1 哈希值,但我得到的结果不正确。我正在尝试使用 QCryptographicHash 库。

QString str = "ABCDEFGH";    
QString hash = QString::fromStdString(QCryptographicHash::hash(str.toStdString().c_str(), QCryptographicHash::Sha1).toStdString());
// hash == "?^??[?\u0000??v??\u0015??.b??v"
Run Code Online (Sandbox Code Playgroud)

在这种情况下我应该改变什么?

c++ hash qstring qt

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

Qt 将 UTF16 十六进制字符串转换为 QString

我想将十六进制和 utf16 编解码器中的字符串转换为 QString,例如我从这段代码中实现的:

QString str1 = QString::fromWCharArray(L"\x0633\x0644\x0627\x0645"); // what I want
Run Code Online (Sandbox Code Playgroud)

但是当我尝试以下代码时,一切都出错了,这样做的正确方法是什么。

QByteArray hex =  QByteArray::fromHex("0633064406270645");
// wrong text in str2 it should be equal to str1
QString str2 = QString::fromUtf16((char16_t*)hex.data()); 
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt utf-16

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

比较 QString 中的两个数字

有两个值:

QString str1 = "3.5.8", str2 = "20.3.6";
Run Code Online (Sandbox Code Playgroud)

让我们想象一下,这两个numbers代表了软件version

众所周知,QString逐个字符进行比较。

如果我们以这种方式做出这个决定会怎么样:

str1.replace(".","");
str2.replace(".","");
int n = str1.toInt();
int m = str2.toInt();

if (n >= m)
{
    qDebug() << "YES";
} else if (n <= m) {
    qDebug() << "NO";
}
Run Code Online (Sandbox Code Playgroud)

也许有一个更优化和正确的方法来做到这一点。

您能否告诉我如何将这些值转换为数字,以便可以对它们进行整体比较。谢谢。

c++ qstring qt

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

QHash :: contains方法区分大小写还是不区分大小写?

我有一个QHash<QString,QString>.我使用以下表达式来检查是否存在值QHash::keys().

//programme
QHash<QString,QString> samplehash;
QString value = "somevalue";
if(samplehash.contains(value)) // Condition - 1
{
 //some code
}
Run Code Online (Sandbox Code Playgroud)

有时上述条件匹配,有时不适用于不同案例的相同字母.是QHash::contains方法是否区分大小写?

qstring qt qhash

0
推荐指数
1
解决办法
2387
查看次数

在QString中连接stl string + int + int + int

可能重复:
使用整数连接两个QStrings

我期待在QT中创建一个3个整数和一个c ++ stl字符串的字符串,我该怎么做?有谁知道?,找不到解释这个过程的东西?

这是我的代码是我在lsit中创建元素,但我想打印所有元素和他们的属性不仅名称:

void Window::listMovies(){
ui->listMovies->clear();
vector <Movie> all = ctrl->getAllMovies();
for(int i=0; i <(int) all.size();i++){
    QListWidgetItem*item = new QListWidgetItem(
                QString::fromStdString(all[i].getName()),ui->listMovies);
    item->setData(Qt::UserRole,QVariant::fromValue(all[i].getID()));
Run Code Online (Sandbox Code Playgroud)

电影对象有1个字符串和3个整数变量.

c++ qstring qt

0
推荐指数
1
解决办法
7128
查看次数

QString到const std :: string

我想将QString中的值赋给const std :: string

QString qfile("some value");
Run Code Online (Sandbox Code Playgroud)

这是const std :: string变量

const std::string file
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码

file = qfile.toStdString();
Run Code Online (Sandbox Code Playgroud)

上面的代码适用于普通的std :: string.但由于关键字'const'存在一些问题.我该如何解决?

c++ string qstring const

0
推荐指数
1
解决办法
2854
查看次数

如何用QStringList显示QMap中的所有键?

我有QMap的问题.每个键都有很多值.我们的想法是用唯一键显示所有值.要使用QtGui应用程序遍历此映射,我有TextEdit(名称:t2).代码在按钮内部如下:

void MainWindow::on_push2_clicked()
{
    QMap<int, QStringList> myMaps;
    myMaps[1].append("Autodesk Maya 2014");
    myMaps[1].append("Autodesk Inventor 2014");
    myMaps[1].append("Autodesk Alias 2014");
    myMaps[1].append("Autodesk 3ds Max 2014");
    myMaps[1].append("Autodesk Softimage 2014");
    myMaps[2].append("Adobe Photoshop CS6");
    myMaps[2].append("Adobe Illustrator CS6");
    myMaps[2].append("Adobe InDesign CS6");
    myMaps[1].append("Autodesk AutoCAD 2014");

    QStringList stsl; // the StringList which contains all values

    QMap<int, QStringList>::iterator it;

    for (it=myMaps.begin(); it!=myMaps.end(); ++it) {
    QString qsi=QString::number(it.key());
    QString qs=it.value().join(" - ");        
    stsl << "<span style='color:#FF1000;font-weight:bold;'>"+qsi + " : </span>"+ qs;
    }

      QString st4=stsl.join("<br/>"); //With setHtml
      ui->t2->setHtml(st4);
    }
}
Run Code Online (Sandbox Code Playgroud)

//输出:1:Autodesk Maya 2014 - Autodesk …

c++ qstring qt qmap

0
推荐指数
1
解决办法
5980
查看次数

OpenCV Mat to Qt QString

我在Qt应用程序中使用opencv.我已经看到了一些通用的c ++方法来打印Mat的值,并且已经这样做了

cout << "myMat = "<< endl << " "  << myMat << endl << endl;
Run Code Online (Sandbox Code Playgroud)

理想情况下,我可以使用此Mat的内容获得QString.有一个巧妙的方法来做到这一点?

qstring qt opencv opencv-mat

0
推荐指数
1
解决办法
357
查看次数

在Qt中,如何将Unicode代码点U + 1F64B转换为保持其等效字符""的QString?

背景:

我正在制作一个哈希,它允许你通过输入包含其字符的QString来查找下面看到的描述.

字符映射示例

我得到了相关数据的完整列表,看起来像这样:

QHash<QString, QString> lookupCharacterDescription;
...
lookupCharacterDescription.insert("003F","QUESTION MARK");
lookupCharacterDescription.insert("0040","COMMERCIAL AT");
lookupCharacterDescription.insert("0041","LATIN CAPITAL LETTER A");
lookupCharacterDescription.insert("0042","LATIN CAPITAL LETTER B");
...
lookupCharacterDescription.insert("1F648","SEE-NO-EVIL MONKEY");
lookupCharacterDescription.insert("1F649","HEAR-NO-EVIL MONKEY");
lookupCharacterDescription.insert("1F64A","SPEAK-NO-EVIL MONKEY");
lookupCharacterDescription.insert("1F64B","HAPPY PERSON RAISING ONE HAND");
...
lookupCharacterDescription.insert("FFFD","REPLACEMENT CHARACTER");
lookupCharacterDescription.insert("FFFE","<not a character>");
lookupCharacterDescription.insert("FFFF","<not a character>");
lookupCharacterDescription.insert("FFFFE","<not a character>");
lookupCharacterDescription.insert("FFFFF","<not a character>");
Run Code Online (Sandbox Code Playgroud)

现在显然"1F64B"需要在这里包装一些东西.我曾尝试过像0x1F64BQChar 这样的事情,但我老实说,在这里黑暗中摸索.我可以使用像拉丁字母这样较低的值来工作,但它失败了5个字符的地址.

问题:

  • 我该如何分类1F64B
  • 这被认为是UTF-32吗?
  • 我可以将此值"1F64B"包装成什么来生成QString("")?
  • 包裹物是否也适用于较低的值?

c++ unicode qstring qt qchar

0
推荐指数
1
解决办法
409
查看次数

标签 统计

qstring ×10

qt ×9

c++ ×8

const ×1

hash ×1

opencv ×1

opencv-mat ×1

qchar ×1

qhash ×1

qmap ×1

string ×1

unicode ×1

utf-16 ×1