解决Qt中文乱码问题
#include "tablewidget.h"
#include <QtCore/QTextCodec>//解决中文乱码问题头文件


    //解决中文乱码问题放在最前面
//    QTextCodec *codec = QTextCodec::codecForName("GBK");
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");

    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

    char *str_laser = "激光功率";
    QString laserPower(str_laser);

    char *str_cut = "切割速度";
    QString cutSpeed(str_cut);

    char *str_Z = "Z浮距离";
    QString Zstandoff(str_Z);

    char *str_GasKind = "气体类型";
    QString GasKind(str_GasKind);

    char *str_GasPressure = "气体压力";
    QString GasPressure(str_GasPressure);


    table  =  new   QTableWidget(this);

    table->setColumnCount(ColumnNum);
    table->setRowCount(RowNum);

    table->setSelectionBehavior(QAbstractItemView::SelectRows);//整行选中

    QStringList  headers;
    headers <<laserPower<<cutSpeed<<Zstandoff<<GasKind<<GasPressure;
    table->setHorizontalHeaderLabels(headers);

    table->setItem(0,  0,  new   QTableWidgetItem(QString("4000W")));
    table->setItem(0,  1,  new   QTableWidgetItem(QString("2.5m/min")));
    table->setItem(0,  2,  new   QTableWidgetItem(QString("1mm")));
    table->setItem(0,  3,  new   QTableWidgetItem(QString("Ar")));
    table->setItem(0,  4,  new   QTableWidgetItem(QString("10Mpa")));
//    table->setItem(0,  1,  new   QTableWidgetItem(tr("20100112")));

    table->resize(500,300);

    QVBoxLayout  *btnLayout  =  new   QVBoxLayout;
    QPushButton  *insertBtn  =  new   QPushButton("插入");
    QPushButton  *delBtn  =  new   QPushButton("删除");
    QPushButton  *saveBtn  =  new   QPushButton("保存");

    btnLayout->addWidget(insertBtn);
    btnLayout->addWidget(delBtn);
    btnLayout->addWidget(saveBtn);

    QHBoxLayout  *mainLayout  =  new   QHBoxLayout(this);
    mainLayout->addWidget(table);
    mainLayout->addLayout(btnLayout);
    this ->setLayout(mainLayout);

    connect(insertBtn,  SIGNAL(clicked()),this,SLOT(insertcol()));
    connect(delBtn,  SIGNAL(clicked()),this,SLOT(removecol()));
    connect(saveBtn,  SIGNAL(clicked()),this,SLOT(savetable()));


虽然问题解决,但是Qt对输入汉字识别还是有问题,有时候会提醒“有换行符”:我的解决办法是粘贴网页中的该汉字,可以解决这个问题;猜测还是输入汉字的数据编码类型不对。

阅读更多
个人分类: Qt学习ing
想对作者说点什么? 我来说一句

applet中文乱码问题解决.txt

2010年03月21日 10KB 下载

解决中文乱码问题-java

2010年04月17日 159B 下载

QT中文国际化使用方法

2012年01月12日 32KB 下载

没有更多推荐了,返回首页

不良信息举报

解决Qt中文乱码问题

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭