cannot convert 'QLineEdit*' to 'char*' in initialization
时间: 2023-12-27 07:01:53 浏览: 120
testLineEdit.zip
这个错误的原因是类型转换错误,QLineEdit* 是一个指向 QLineEdit 类型对象的指针,而 char* 是一个指向字符型变量的指针。在初始化时,不能将这两种类型的指针进行直接转换。如果你想将 QLineEdit 对象的内容转换为 char* 类型,可以使用 QLineEdit::text() 函数将其转为 QString 类型,然后再使用QString::toStdString()函数将其转为std::string 类型,最后再使用std::string::c_str()函数将其转为char* 类型。例如:
QLineEdit* lineEdit = new QLineEdit("Hello world!");
std::string str = lineEdit->text().toStdString();
char* charArray = new char[str.length()+1];
strcpy(charArray, str.c_str());
在这个例子中,我们首先创建了一个 QLineEdit 对象,并设置其初始内容为“Hello world!”。然后我们将 QLineEdit 对象的内容转换为了 char* 类型,最终存储在了 charArray 变量中。需要注意的是,在使用完 charArray 后需要手动释放其内存空间。
阅读全文