小编Ste*_*uid的帖子

将QString转换为std :: string

我已经看过其他几篇关于将QString转换为std :: string的帖子,它应该很简单.但不知怎的,我收到了一个错误.

我的代码使用cmake编译成一个VS项目(我正在使用VS express),所以QT库没有问题,我编写的GUI除了这部分之外还有用.

我有一个QComboBox cb将名称保存到某些对象,并且QLineEdit lineEdit允许我指定我要查找的对象的名称.当我按下go按钮时,它应该运行一个经过测试和工作的函数,输入来自QComboBoxlineEditas参数.

这是单击go按钮时的代码:

void gui::on_go_clicked(){
    std::string str(cb->currentText().toStdString());
    //std::cout << str << "\n";
    //QString qstr = lineEdit->text();
    //std::cout<<lineEdit->text().toStdString();
    updateDB(str, lineEdit->text().toStdString());
}
Run Code Online (Sandbox Code Playgroud)

第一行,创建str,工作正常.IE库函数或没有问题toStdString().但是当它执行我的函数时,程序会中断,并且它不是因为函数,它是因为它试图转换的部分lineEdit->text().toStdString().

这只是当我在lineEdit框中写下"测试"一词时.我已经看到了其他关于unicode的答案,我曾经简单地尝试过,但我可以假设用户不会在lineEdit框中添加任何特殊字符,除非"_"和".",它们不应该是unicode.

c++ qstring qt stdstring

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

标签 统计

c++ ×1

qstring ×1

qt ×1

stdstring ×1