应用程序开头如下:
#include"QWDCurrentView.h"
#include<QtGui/QApplication>
intmain(intargc,char** argv)
{
QApplicationapp(argc,argv);
MyMainWidgetw;
w.show();
app.exec();
return0;
}
在该应用程序中的某一处创建表格:
MyMainWidget::MyMainWidget(QWidget *parent) :
QWidget(parent)
{
setGeometry(100,100,800,480);
setMinimumSize(800,480);
setMaximumSize(800,480);
m_widget= newWidget(this);
m_widget->setGeometry(100,30,600,420);
QStringListrowHeader;
rowHeader.append("电流值");
rowHeader.append("电流角度");
rowHeader.append("电压值");
rowHeader.append("电压角度");
QStringListcolHeader;
colHeader.append("A相");
colHeader.append("B相");
colHeader.append("C相");
m_widget->SetTableRowsAndColnums(rowHeader.size(),colHeader.size());
for(inti = 0; i < rowHeader.size(); i++)
{
for(intj = 0; j < colHeader.size(); j++)
{
QTableWidgetItem* item = newQTableWidgetItem("xian");
m_widget->SetItem(i,j,item);
}
}
m_widget->SetRowLabel(rowHeader);
m_widget->SetColLabel(colHeader);
}
程序运行后发现所有的中文部分全部是乱码,后将代码改为:
在应用程序开头处设置使用UNICODE码,也就是GB2312编码方式:
#include"QWDCurrentView.h"
#include<QtGui/QApplication>
#include <QtCore/QTextCodec>
intmain(intargc,char** argv)
{
QApplicationapp(argc,argv);
QTextCodec*codec = QTextCodec::codecForName("GB2312");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
MyMainWidgetw;
w.show();
app.exec();
return0;
}
运行成功。
转载于:https://blog.51cto.com/langtuteng/1378501