如题,Qt的中文显示很麻烦的,需要用本地编码方式,然后获取字符串。再附上文件操作,文件写也是支持中文的:
#include <QtWidgets/QApplication> #include <QFiledialog> #include <QTextCodec> #include <QTextStream> int main(int argc, char *argv[]) { QApplication a(argc, argv); QString str; str = str.fromLocal8Bit("吃饭"); QTextCodec *codec = QTextCodec::codecForLocale(); QString aa = codec->toUnicode("Qt中文显示"); qt2 w; w.show(); QString dir = QFileDialog::getExistingDirectory(&w, str, "c:"); QString wrFile = QFileDialog::getSaveFileName(&w, aa, dir); QStringList open = QFileDialog::getOpenFileNames(&w, "Open Files", "D:\\c_proj"); QFile file(wrFile); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) return 1; QTextStream out(&file); out << "The magic number is: " << 49 << "\n"; out << aa << endl; for(QStringList::iterator iter = open.begin(); iter != open.end(); iter++) { out << *iter << endl; } return a.exec(); }