私は main.cpp
ファイルに次のものを持っています、
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForCString(QTextCodec::codecForName("UTF-8"));
MainWindow w;
w.show();
return a.exec();
}
そして以下は、mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
result = new QLabel("Check Result Here:",this);
result->setGeometry(QRect(QPoint(180,30),QSize(161,161)));
QString m("宁愿看见两个恶魔在拔河,也不愿看见一只天使在跳舞。");
result->setText(m);
}
MainWindow::~MainWindow()
{
delete ui;
}
上の漢字QLabel
は正常に表示できません。
以下のように修正すると、文字が正常に表示されるようになります。
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
以下は、mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTextCodec::setCodecForCString(QTextCodec::codecForName("UTF-8"));
result = new QLabel("Check Result Here:",this);
result->setGeometry(QRect(QPoint(180,30),QSize(161,161)));
QString m("宁愿看见两个恶魔在拔河,也不愿看见一只天使在跳舞。");
result->setText(m);
}
MainWindow::~MainWindow()
{
delete ui;
}
関数「setCodeForCString()」のスコープの問題だと思いますが、誰か説明してもらえますか?