jjzjj

c++ - Qt错误: 'const class QString' has no member named 'toStdString'

我收到此错误error:'constclassQString'hasnomembernamed'toStdString'虽然QString有它。(link).代码std::stringMessage::toStdString()const{returnm_string.toStdString();} 最佳答案 直接从这里复制答案:HowtoconvertQStringtostd::string?QStringqs;//EitherthisifyouuseUTF-8anywherestd::stringutf8_text=qs.toU

c# - 如何编写用于将 Qt 信号映射到 C# 事件的包装类(通过 C++/CLI)

通过C++/CLI包装器调用C++/Qt类就像在公园散步一样。但我无法将C++/Qt信号映射到C#事件。我尝试结合一些可用的操作方法/答案,但没有得到任何有效结果:HowtomapQtSignaltoEventinManagedC++(C++/CLI)Callingmanagedcodefromunmanagedcodeandvice-versa和其他一些不那么直接相关的...这里的问题是,这些操作方法/答案已经很老了。我目前正在使用Qt5.5(即将推出5.6)和.NET4.6。我试图使一切适应当前的技术水平,但可能失败了。可能是因为树太多,我看不到森林,所以我想求一个工作的例子,用当

c++ - QString 在 Qt 5.6 中拆分

QStringstrTest="SHUT\nDOWN";QStringListslstLines=strTest.split("\n");在上面的示例中,我希望字符串列表包含两个条目,但它只包含1个条目,这与strTest相同...为什么不拆分工作?我也试过:QStringListslstLines=strText.split(QRegExp("[\n]"),QString::SkipEmptyParts);结果是一样的。 最佳答案 已解决:QStringListslstLines=strTest.split("\\n");

c++ - 从字节数组加载到 Qml 中的图像

我在Qt中创建了一个C++类来读取文件,并将它们转换为字节数组,这样我就可以将它们存储在数据库中,我如何处理字节数组数据,例如在qml中设置图像源,将此字节数组转换为qml中相关类型的正确方法是什么这是我的类(class):#ifndefUFILE_H#defineUFILE_H#include#includeclassUFile:publicQObject{Q_OBJECTQ_PROPERTY(QByteArraydataREADdataNOTIFYdataChanged)Q_PROPERTY(QStringpathREADpathWRITEsetPathNOTIFYpathChan

c++ - 在 QMap::remove 之后使用 QString 导致崩溃

我有以下代码:classNamedObjectContainer{//...QMapmUsed;//...};constStoredObject*NamedObjectContainer::use(constQString&name,constQString&userId){qDebug()在这里,我试图通过键(userId)从QMap中删除元素。元素被正确删除。但令人惊讶的是,它在QMap::remove之后崩溃打印userId。ProgramreceivedsignalSIGSEGV,Segmentationfault.[SwitchingtoThread0xb5b2c6c0(LW

c++ - 如何从QWebEnginePage获取网站内容?

我安装了最新版本的Qt(在Webkit上,Qt5.2有WTFcrash)。我尝试在页面加载时获取我网站的内容(确实如此):QStringsHtml;view.page()->toHtml([&](constQString&result){sHtml=result;qDebug()但是sHtml是空的,并且没有调用调试。我做错了什么? 最佳答案 你没有做错任何事,你只是在调用异步function:Asynchronousmethodtoretrievethepage'scontentasHTML,enclosedinHTMLandBO

c++ - QMap::contains() 未返回预期值

我有一个包含QMap对象的类:QMapusers;现在,在下面的函数Foo()中,if子句总是返回false,但是当我遍历映射时,比较的QString,即str1出现在键中。voidFoo(QString&str1,QString&str2){if(users.contains(str1))users[str1]->doStuff(str2);else{for(QMap::iteratoriter=users.begin();iter!=users.end();iter++)qDebug()我做错了什么吗?为什么contains()不返回true? 最佳答案

c++ - 重载 ‘QString(int)’ 不明确

下面的代码片段给出了编译错误重载“QString(int)”的调用不明确与qt4.7.3(系统是linux64bit,debian不稳定)structQSAConnection{QSAConnection():sender(0),signal(0),function_ref(){}QSAConnection(QObject*send,constchar*sig,QSObjectref):sender(send),signal(QLatin1String(sig)),function_ref(ref){}QObject*sender;QStringsignal;QSObjectfunct

c++ - 为什么 std::basic_string 不支持通过表达式模板进行连接?

Qt的QString可以通过operator%连接起来,它使用表达式模板预先计算结果字符串的大小并优化对operator+的多个链式调用.参见thisquestionofmine了解更多信息。为什么std::basic_string没有采用类似的结构?C++11甚至允许这样做吗?我只看到优点,很明显,库实现者可以在需要时破坏ABI兼容性(C++11甚至为libstdc++提供了一个很好的理由)。 最佳答案 因为没有人提出标准;除非有人提出建议,否则它不会进入。还因为它可能会破坏现有代码(如果他们使用operator+就是这样)。此外

c++ - std::ostream 到 QString?

有没有办法将std::ostream转换为QString?如果有用,请允许我展开:我正在用C++/Qt编写一个程序,我过去常常(不)通过使用std::cout来处理/调试异常,例如:std::cout现在我想将错误作为QString抛出并在以后捕获它们,所以我现在改为:throw(QString("ErrorinvoidCat::eat(constBird&bird):birdhasnegativeweight"));我的问题是我一直在重载运算符Bird,所以我实际上会写:std::cout现在有什么方法可以将其作为QString抛出吗?我希望能够写出类似的东西:std::ostrea