标签: qstring

为什么这个QString到const char*转换在Windows上产生Debian标识符?

我正在尝试在Qt中包装libssh2,并具有以下代码:

const char* username = inUsername.toLocal8Bit().data();
const char* password = inPass.toLocal8Bit().data();
Run Code Online (Sandbox Code Playgroud)

问题是,用户名和密码没有连接到系统.为什么?

因为,根据调试器,

username  "5.1p1 Debian-6ubuntu2"
password  "5.1p1 Debian-6ubuntu2"
Run Code Online (Sandbox Code Playgroud)

这些不是我为用户名或密码提供的值.我尝试过ascii,toLatin1,并附加(或不附加).data().不过,我得到的是这些值,而不是预期值.我在Windows上,这就是为什么它更令人不安,因为据我所知,我没有在Debian或Ubuntu上编译.

这里发生了什么?

windows string qstring qt

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

如何指定QString :: indexOf方法?

我写了一个源代码,如:

    int main(int argc, char *argv[]) {
        QString x = "start some text here end";
        QString s = "start";
        QString e = "end";
        int start = x.indexOf(s, 0, Qt::CaseInsensitive); 
        int end = x.indexOf(e, Qt::CaseInsensitive); 

        if(start != -1){ // we found it
            QString y = x.mid(start + s.length(), ((end - (start + s.length())) > -1 ? (end - (start + s.length())) : -1)); // if you dont wanna pass in a number less than -1
            or
            QString y = x.mid(start + …
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt indexof

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

Qt从字符串中删除正则表达式

我有一个QString,我用""替换了"="和",".现在我想编写一个正则表达式,它将删除某个字符串的每次出现,紧接着是包含1到2个字符长数字的括号.例如:"mat(1)= 5,mat(2)= 4,mat(3)= 8"将变为"5 4 8"

所以这就是我到目前为止所做的:

text = text.replace("=", " "); 
text = text.replace(",", " "); 
text = text.remove( QRegExp( "mat\([0-9]{1,2}\)" ) );
Run Code Online (Sandbox Code Playgroud)

正则表达式不正确,我该如何修复它来做我想要的?谢谢!

qstring qt qregexp

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

在List Widget Qt C++中显示数组内容

我想用Qt和C++在List Widget(基于项目)中显示我的数组的一些内容,我尝试了这个,但它起作用了:

QString exemple[2] = 'blablabla'
ui->listWidgetResult->addItem(exemple[2].toStdString().c_str());
Run Code Online (Sandbox Code Playgroud)

谢谢 !

c++ arrays qstring qt

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

const char*Qt中的错误行为

我有一个const char*从类中返回两个函数的问题,由于某种原因,第一个值是第二个值的副本或某些值是错误的,但返回的两个值来自不同的指针,在这种情况下是两个QMap,以下是这两个函数的代码:

const char* SomeClass::getSignal(QString signalName)
{
    QString signalsignature = this->signals.value(signalName);
    signalsignature.prepend(QString::number(QSIGNAL_CODE));
    QByteArray ba = signalsignature.toLatin1(); // i try toUTF8 and to Local8Bit
    const char* signalformated = ba.constData();
    return signalformated;
}

const char* SomeClass::getSlot(QString slotName)
{
    QString slotsignature = this->slots.value(slotName);
    slotsignature.prepend(QString::number(QSLOT_CODE));
    QByteArray ba = slotsignature.toLatin1();
    const char* slotformated = ba.constData();
    return slotformated;
}
Run Code Online (Sandbox Code Playgroud)

this->slotthis->signalsQMap<QString, QString>该保存槽和信号的签名(somesignal(int)someslot(bool)连键somesignal,someslot分别地).

我使用的类是通过QLibrary使用接口从DLL加载的,所有使用其他函数都可以正常工作,但是使用这样的函数:

const char* signal = …
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt pointers qmap

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

向QString添加常量

我有以下内容:

#define versions 0.9.0
Run Code Online (Sandbox Code Playgroud)

我想添加到QString:

QString str = QString("Software version %1").arg(versions); 
Run Code Online (Sandbox Code Playgroud)

这不行.谁知道为什么?

谢谢

qstring qt constants

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

如何使用"%"操作数追加Qstring

我正在使用操作数尝试.append使用两个double值的QString %.我在QString类参考文档中看到了以下示例,用于使用argdouble,但该示例不包括附加str:

double d = 12.34;
QString str = QString("delta: %1").arg(d);
Run Code Online (Sandbox Code Playgroud)

这是我的代码.它不包含任何运行时错误,但它不会将我的双精度放在%操作数所在的位置,而是将我的%1和%2包括为普通字符串:

double d1 = 0.5,d2 = 30.0
QString str  = "abc";
str.append("%1 def %2").arg(d1).arg(d2);
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ qstring append

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

使用运算符<< with QStringList指针

我该如何更改此代码?

QString s="123";
QStringList *myList=new QStringList;

myList<<s;
Run Code Online (Sandbox Code Playgroud)

错误:

'operator <<'不匹配(操作数类型是'QStringList*'和'QString')

*myList<<s;
Run Code Online (Sandbox Code Playgroud)

也不起作用:myList为空,此后.

c++ qstring qt qlist qtcore

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

获得QString的一部分

我如何获得价值"Recording.mp3"从这个QString

C:/Users/Admin/AppData/Local/Temp/AudelloTemp/Recording.mp3
Run Code Online (Sandbox Code Playgroud)

如果我使用lastIndexof('/')函数,则它向后搜索最后一次出现

如果我使用indexof('/')函数,那么它会向前搜索第一次出现.

我没有办法得到它.

或者是使用循环获取该值的唯一方法?

c++ qstring qt indexof

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

未分类的Qt容器

我有一个QVector,它应该存储文件路径,比如

"./zThumbnail/1004.jpeg"
"./zThumbnail/1005.jpeg"
"./zThumbnail/1006.jpeg"
"./zThumbnail/1007.jpeg"
"./zThumbnail/1008.jpeg"
"./zThumbnail/1009.jpeg"
"./zThumbnail/101.jpeg"
"./zThumbnail/1010.jpeg"
"./zThumbnail/1011.jpeg"
"./zThumbnail/1012.jpeg"
"./zThumbnail/1013.jpeg"

QFileInfoList filelistinfo = dir.entryInfoList();
foreach (const QFileInfo &fileinfo, filelistinfo) {
imagePath.push_back(fileinfo.absoluteFilePath());
qDebug() << fileinfo.absoluteFilePath();
}


./abc/1.jpg
./abc/2.jpg
./abc/3.jpg
.
.
.
./abc/1209.jpg
Run Code Online (Sandbox Code Playgroud)

但不是按照上面的顺序存储它,而是存储像

./abc/1.jpg
./abc/10.jpg
./abc/100.jpg
./abc/1000.jpg
./abc/1001.jpg
.
.
Run Code Online (Sandbox Code Playgroud)

如何以数字顺序存储图像文件路径?

qstring qt qdir qvector qfileinfo

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

标签 统计

qstring ×10

qt ×9

c++ ×6

indexof ×2

append ×1

arrays ×1

constants ×1

pointers ×1

qdir ×1

qfileinfo ×1

qlist ×1

qmap ×1

qregexp ×1

qtcore ×1

qvector ×1

string ×1

windows ×1