我有以下字符数组:
char mychars[SIZE];
我想将QTextEdit中的一个字符复制到该数组中。 我试过了:
mychars[i] = this->ui->QTextEdit;
mychars[i] = this->ui->QTextEdit->inputContext();
但我得到的错误如下:
error: invalid conversion from ‘QTextEdit*’ to ‘char’
答案 0 :(得分:2)
您需要使用toPlainText()从文本编辑中恢复plain text。
要将QString
转换为字符,请使用类似
const QByteArray bytes = textEdit->toPlainText().toAscii();
const char*const characters = bytes.data();
针对您的具体情况
mychars[i] = this->ui->QTextEdit->toPlainText().toAscii().data()[ i ];
应该有用。
答案 1 :(得分:2)
您可以使用以下方法检索QTextEdit中的文本:
QString text = this->ui->QTextEdit->toPlainText();
编辑:
if(text.size()>0){
mychars[0] = text[0].toAscii(); // assuming your text is ascii
}
答案 2 :(得分:0)
您当前正在尝试将QTextEdit对象插入到字符数组中,然后再插入文本编辑的inputcontext。您需要获取构成文本编辑内容的QString选择所需字符的索引并将其转换为char然后插入它。
你为什么要这样做?
答案 3 :(得分:0)
如果要将1个char放入char数组中,则必须指定所需的char,即char在字符串中的位置。
mychars [i] = this-> ui-> textedit-> toPlainText()。toStdString()。c_str()[0]