應用程序開頭如下:
#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;
}
運行成功。