Я хочу записать данные в файл. Я форматирую эти данные с помощью функции iomanip на C++, setw для установки ширины текстового поля. Исходный код приведен ниже:C++ Текстовое форматирование с использованием setw не работает с QT's QTextEdit
std::ofstream dataFile;
dataFile.open(m_fileAbsolutePath.toStdString().c_str(),std::fstream::out);
dataFile << "|";
SET_WIDTH(dataFile,DEV_NAME_FIELD);
dataFile << std::right <<TS_HEADER;
Форматирование выглядит хорошо в текстовом редакторе Linux «gedit». Но, когда я пытаюсь прочитать этот файл и показать в QTextEdit QT, форматирование становится Mess.
Ширина, которая была установлена с использованием функции «C++» setw, не отображается должным образом. Почему это так ? Нужно ли делать некоторую конфигурацию для QTextEdit?
TextEdit устанавливается как:
ui->textEdit->setLineWrapMode(QTextEdit::NoWrap);
кодекса читать файл:
std::ifstream dataFile (m_filePath.toStdString().c_str(), std::ifstream::in);
if(dataFile.is_open()){
while (!dataFile.eof()) {
char line[1024] = {0};
dataFile.getline(line,1024);
int numberOfBytes = dataFile.gcount();
if(0 < numberOfBytes){
QString result(line);
Q_EMIT resultReady(result);
}
}
dataFile.close();
}
Спасибо заранее.
фиксированной ширины по сравнению с переменной шириной проблем со шрифтами? –
Да. Благодарю. Решено использовать следующий код: const QFont fixedFont = QFontDatabase :: systemFont (QFontDatabase :: FixedFont); – ashwin1103