我正在尝试在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上编译.
这里发生了什么?
我写了一个源代码,如:
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) 我有一个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)
正则表达式不正确,我该如何修复它来做我想要的?谢谢!
我想用Qt和C++在List Widget(基于项目)中显示我的数组的一些内容,我尝试了这个,但它起作用了:
QString exemple[2] = 'blablabla'
ui->listWidgetResult->addItem(exemple[2].toStdString().c_str());
Run Code Online (Sandbox Code Playgroud)
谢谢 !
我有一个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->slot和this->signals顷QMap<QString, QString>该保存槽和信号的签名(somesignal(int)或someslot(bool)连键somesignal,someslot分别地).
我使用的类是通过QLibrary使用接口从DLL加载的,所有使用其他函数都可以正常工作,但是使用这样的函数:
const char* signal = …Run Code Online (Sandbox Code Playgroud) 我有以下内容:
#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)
这不行.谁知道为什么?
谢谢
我正在使用操作数尝试.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)
谢谢
我该如何更改此代码?
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为空,此后.
我如何获得价值"Recording.mp3"从这个QString
C:/Users/Admin/AppData/Local/Temp/AudelloTemp/Recording.mp3
Run Code Online (Sandbox Code Playgroud)
如果我使用lastIndexof('/')函数,则它向后搜索最后一次出现
如果我使用indexof('/')函数,那么它会向前搜索第一次出现.
我没有办法得到它.
或者是使用循环获取该值的唯一方法?
我有一个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)
如何以数字顺序存储图像文件路径?