C++ Qt5标签更改文本显示损坏
应用程序在Qt Creator中运行良好,但在Visual Studio中不起作用 在VisualStudio中,我尝试学习C++ QT5 GUI应用程序。以下是基本应用程序: 单击按钮并更改标签文本 main.cppC++ Qt5标签更改文本显示损坏,c++,qt,qt5,visual-studio-2019,C++,Qt,Qt5,Visual Studio 2019,应用程序在Qt Creator中运行良好,但在Visual Studio中不起作用 在VisualStudio中,我尝试学习C++ QT5 GUI应用程序。以下是基本应用程序: 单击按钮并更改标签文本 main.cpp #include "Deneme.h" #include "stdafx.h" #include <QtWidgets/QApplication> #include <QTextCodec> int main(in
#include "Deneme.h"
#include "stdafx.h"
#include <QtWidgets/QApplication>
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO 8859-9"));
Deneme w;
w.show();
return a.exec();
}
标签文本在开头是可以的。单击按钮后,出现编解码器问题
我尝试了QTextCodec,但没有成功:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO 8859-9"));
使用:
- Qt5.15
- 视窗10
- Visual Studio 2019
- MSVC 2019
- 克马克
QStringLiteral
只是从编译时常量字符数组创建QString
的优化。重要的是编解码器UTF-8。源文件可能存储在UTF-8中,因此必须解释为UTF-8。
#include "Deneme.h"
#include "stdafx.h"
Deneme::Deneme(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(changeText()));
}
void Deneme::changeText() {
ui.label->setText("Metin Değiştirildi!");
}
QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO 8859-9"));
QTextCodec::setCodecForLocale( QTextCodec::codecForName( "UTF-8" ) );
ui.label->setText(QStringLiteral("Metin Değiştirildi!"));