我这有如下文件chi.h    chi.cpp     main.cpp
//********************chi.h*******************************
#ifndef FORM1_H
#define FORM1_H
#include <qvariant.h>
#include <qwidget.h>
#include <qtextcodec.h>
#include <qstring.h>
class QVBoxLayout; 
class QHBoxLayout; 
class QGridLayout; 
class QMultiLineEdit;
class Form1 : public QWidget
{ 
    Q_OBJECT
public:
    Form1( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
    ~Form1();
    QMultiLineEdit* MultiLineEdit1;   
    QTextCodec* gbk;
    QString mytr(const char*);
};
#endif // FORM1_H
//********************chi.cpp**************************
#include "chi.h"
#include <qmultilineedit.h>
#include <qlayout.h>
#include <qvariant.h>
#include <qtooltip.h>
#include <qwhatsthis.h>
#include <qstring.h>
/* 
 *  Constructs a Form1 which is a child of 'parent', with the 
 *  name 'name' and widget flags set to 'f' 
 */
Form1::Form1( QWidget* parent,  const char* name, WFlags fl )
    : QWidget( parent, name, fl )
{
    if ( !name )
    setName( "Form1" );
    resize( 240, 320 ); 
    setMaximumSize( QSize( 240, 320 ) );    
    gbk=QTextCodec::codecForName("GBK");
    QString caption = "鐫€搴婂彛";   //这些中文是在x11的designer输入的,输入时已经是一些乱码
    setCaption( mytr( caption ) );
    MultiLineEdit1 = new QMultiLineEdit( this, "MultiLineEdit1" );
    MultiLineEdit1->setGeometry( QRect( 32, 40, 181, 61 ) ); 
    MultiLineEdit1->setText( mytr(  "脛茫潞脙!  China n浣?  ) );    //这些中文是在生成chi.cpp后加入的,使用台式机linux下的GBK输入法输入,在台式机的linux下输入时可以显示为正确的中文    
}
/*  
 *  Destroys the object and frees any allocated resources
 */
Form1::~Form1()
{
    // no need to delete child widgets, Qt does it all for us
}
QString Form1::mytr(const char* chars)
{
    return gbk->toUnicode(chars,strlen(chars));
}
//***************main.cpp***********************
#include "chi.h"
#include <qapplication.h>
#include <qfont.h>
int main( int argc,char **argv)
{
    QApplication a (argc,argv);
    Form1 b;
    a.setMainWidget( &b );
    QFont font1("unifont",16,50,FALSE,QFont::Unicode);
    qApp->setFont(font1);
    b.show();
    return a.exec();
}
我用的qte是2.3.7的,好像太旧了:)
很奇怪,我用designer设计时不能输入中文,是一些乱码
为了实验观察,我在由designer生成的.ui文件转换而得到的chi.cpp文件中的MultiLineEdit1又加入了一些中文,这些中文是使用台式机linux的GBK输入法输入的
先谢谢了
[ 此贴被kangray在2006-06-29 15:56重新编辑 ]