2014-03-13 13 views
-1

파일에서 유니 코드를 읽고 QTextEdit에 해당 데이터를 표시하고 싶습니다. 제안을 해주십시오.파일에서 유니 코드를 읽고 QTextEdit에 데이터를 표시하는 방법은 무엇입니까?

+0

질문하실 수는 있지만 http://stackoverflow.com/help/on-topic을 참조하십시오. – embert

+0

자세한 정보를 제공해주십시오. 우리는 프로그램에서 무엇이 잘못되었는지를 알려줄 수 있습니다. 우리에게 당신의 코드의 일부분이 도움이 될 것임을 보여주십시오. – Tay2510

+0

코드를 복사 할 수 없습니다. 코드를 복사하는 방법을 알려주시겠습니까? – QtUser

답변

1

귀하의 질문은 조금 가난하지만, 다음과 같이이를 위해 Qfile을하고은 QTextEdit를 사용해야합니다 :

QFile file("in.txt"); 
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) 
    return; 

QTextStream in(&file); 
while (!in.atEnd()) 
    myTextEdit.append(in.readLine()); 

를하거나 거대한 파일 작은 메모리를 처리하지 않을 경우, 파일을 읽을 수 있습니다 전체의 라인과 청크를 읽지 않고 :

QFile file("in.txt"); 
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) 
    return; 

myTextEdit.setText(file.readAll()); 
// or setPlainText(file.readAll()); 

이 몇 가지 있습니다 on the documentation.

에 기반 기본적으로 유니 코드로 데이터를 읽 방법을 사용하는 것이므로이 대답은 단지 당신에게 약간의 맛을 전합니다. 그리고 당신은 당신의 특정한 시나리오에 기초하여 이것을 미세하게 조정할 필요가 있습니다. 적절한 오류 처리, 포함, 시스템 파일 빌드 등을 추가해야합니다.

+0

나는 이것을 시도했다. 그러나 실제로 파일 데이터를 읽는 중이며, 파일에서 유니 코드를 읽고 textedit에 해당 텍스트를 표시해야한다. – QtUser

+0

@QtUser : 당신이 시도한 것을 질문에 말해야합니다. 귀하의 질문은 현재 매우 가난합니다, 나는 두렵습니다. 어느 쪽이든, QString :: fromUtf8을 살펴보십시오. – lpapp

+0

처음에는 "간단한"유니 코드와 같은 것이 있지만 유니 코드를 기반으로하는 코덱은 없습니다. UTF-8, UTF-16 등. 텍스트 파일에 사용되는 코덱을 알아야합니다. 텍스트 파일이 UTF-8로 코딩되었다고 가정하면 Laszlo의 접근 방식을 사용할 수 있으며 textstream에 코덱을 설정해야합니다. in.setCodec ("UTF-8"); – MichaelXanadu