I've seen several other posts about converting QString to std::string, and it should be simple. But somehow I'm getting an error.
My code is compiled into a VS project using cmake (I'm using VS express), so there's no issue with the QT libraries, and the GUI that I wrote works besides this part.
I have a QComboBox cb
that holds the names to some objects, and a QLineEdit lineEdit
that allows me to specify the name of the object that I am looking for. It should run a function that is tested and working when I press a go button, with the input from the QComboBox
and the lineEdit
as arguments.
Here's the code for when the go button is clicked:
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());
}
The first line, creating str
, works fine. I.E. there's no problem with library functions or toStdString()
. But when it executes my function, the program breaks, and it's not becuase of the function, it's because of the part where it tries to convert lineEdit->text().toStdString()
.
This is only when I write the word "test" in the lineEdit
box. I've seen other answers talking about unicode, which I tried briefly, but I can assume that the user will not be putting any special characters in the lineEdit
box, barring '_' and '.', which shouldn't be unicode.