develop环境下qt中文化程序设计
更新时间:2023-12-18 12:07:01 阅读量: 教育文库 文档下载
- develop环境推荐度:
- 相关推荐
develop环境下qt中文化程序设计
[转]develop环境下qt中文化程序设计2010-10-21 15:03原文出处:Linux公社
原文作者:yfy001 kdevelop是一款在linux平台下可以同windows环境下的vc相媲美的集成开发环境,qt则是一款支持包括windows和linux平台
的GUI库,可以说它是linux下的MFC.在显示上,qt使用Unicode作为内部编码,可以支持多种编码.如何使用qt进行国际化编程
在网上可以找到很多资料的,但都是针对较早版本的qt进行介绍的.qt3.0.5中对这些作了些改动,这些方法就相应的要做些改动.
而且在kdevelop中开发qt应用程序,将会事半功倍.我的开发环境为redhat8.0(需安装kde开发工具包).
首先在linux中打开kdevelop集成开发环境,用它的应用程序向导新建一个qt的SDI的应用程序框架.这个同windows下vc很类似.它
将会为你自动生成版本号,作者,e-mail等信息的单文档对话框的应用程序框架.我们首先对它自动生成的程序进行汉化(qt1是
我的项目名称). 1.汉化自动生成的程序 添加翻译文件
在\项目\菜单中选择\添加新的翻译文件\语言选择\将会创建一个zh_CN.GB2312字符编码的翻译文件.扩展名
为\在qt3.0.5环境下,打开\翻译文件的工具是linguist.你可以在\工具\菜单中选择\来打开,在linguist菜单中选择\
\打开所要翻译的翻译文件.此时可以在linguist窗口中的source text中
的文本就是你所要翻译的文本,选择所要翻译的文本,在下方有一个类似一页纸一样的地方,在translate下输入翻译后的文本.
所示.
翻译完这些文件后,编译运行,在我们的程序里并不能显示中文,还是英文,我们还需要做的就是用lrelease命令将翻译后的文件转换
成\文件才可以使用.在控制台下进入你用kdevelop所生成的应用程序目录.
lrelease Makefile.am qt3.0.5用这个两个程序取代了以前版本的findtr和msg2qm命令.在kdevelop集成环境中打开main.cpp主函数,
.
QApplication a(argc,argv); a.setFont(QFont(\; QTranslator tor(0);
tor.load(QString(\:locale(),\; //tor.load(QString(\; a.installTranslator(&tor);
/*uncomment the following line,if you want aWindows 95 look*/ //a.setStyle(WindowsStyle); Qt1App*qt1=new Qt1App();
//Form1*qt1=new Form1(); a.setMainWidget(qt1); . 此处:
tor.load(QString(\:locale(),\;
是根据客户环境的locale来载入当前目录下相应的翻译文件的.redhat中文环境默认的locale为gb18030,
此处要么把翻译文件名由qt1.zh_CN.GB2312.qm改为qt1.zh_CN.GB18030.qm,要么将这句改为
tor.load(QString(\;
不过为了国际化编程的需要,建议采用第一种方法.更改后编译运行,你会发现你的程序已经是中文界面的了.
2.汉化自己的对话框
大多数情况下我们都需要自己来设计对话框,qt为我们提供了非常好的对话框编辑器QtDesigner,可以很方便的设计我们的对话框,qt
的信号和槽等,关于QtDesigner的使用,限于篇幅,不再赘述.以前面的程序为基础.在kdevelop中选择\文件\新建\选择Qt Designer文件(*.ui).在文件名一栏中填写\最后点击确定按钮,即会启动QtDesigner,此处只拖了一个Label,写了一
些英文字符.对话框的name属性为Form1.将对话框mydialog.ui保存. 在控制台下进入你用kdevelop所生成的应用程序目录. lupdate Makefile.am
同样用\来翻译qt1.zh_CN.GB2312.tr文件.此时linguist的context中会多出Form1的选项,这里面就是我们新建的对话框要翻译的
选项.依据前面的方法进行汉化. lrelease Makefile.am
生成qt1.zh_CN.GB2312.qm文件.
编译将会生成mydialog.cpp mydialog.h mydialog.moc文件.然后将main.cpp中的
Qt1App*qt1=new Qt1App();改为 Form1*qt1=new Form1(); 并将\
进去.依据前面的方法更改tor.load中加载的翻译文件.编译运行,你的对话框也是中文的了.
3.其它的一些说明
由于qt返回的是Unicode编码,譬如你在LineEdit中直接输入中文,返回的就是?,qt中可以直接使用QTextCodec来转换字符串的编码.
QString string;
string=LineEdit1-text();//取得LineEdit1返回的文字 QTextCodec*codec=QTextCodec:codecForName(\; //转换编码
QCString chinese_string=codec-fromUnicode(string);//用QCString来存储返回的多字节编码
当然,你在头文件中就必需加入 #include qtextcodec.h #include qstring.h
#include qcstring.h 4.QTextStream对中文的支持
QTextCodec*codec=QTextCodec:codecForName(\;/*当前编码为\
QTextStream mystream(&file); mystream.setCodec(codec);
5.QCString&QString QCString中不以unicode编码 QString以unicode为编码.
qt内部使用unicode为编码,所以如果要在qt的部件如multilineedit中显示中文,则需要将非unicode的字符转换成unicode字符.
QCString locallyEncoded=\中国人不是东亚病夫\;//text to convert QTextCodec*codec=QTextCodec:codecForName(\;//get the codec for GBK QString unicodeString=codec-toUnicode(locallyEncoded);
国际化编程 内容:
1.Qt的文本显示 2.Qt的文本输入 3.Qt的打印 于明俭
2002年1月09日
本篇讨论Qt库对国际化的支持,将介绍Qt对文本显示,输入和打印的支持,和如何使用Qt开发国际化的软件。
Qt目前的版本(2.2.4)对国际化的支持已经相当完善。在文本显示上,Qt使用了Unicode作为内部编码,可以同时支持多种编码。为Qt增加一种编码的支持也比较方便,只要增加该编码和Unicode的转换编码便可以了。Qt目前支持ISO标准编码ISO 8859-1,ISO 8859-2,ISO 8859-3,ISO 8859-4,ISO 8859-5,ISO 8859-7,ISO 8859-9,和ISO 8859-15(对于阿拉伯语和希伯来语的支持正在开发之中),中文GBK/Big5,日文eucJP/JIS/ShiftJIS,韩文eucKR,俄文KOI8-R。当然也可以直接使用UTF8编码。
Qt使用了自己定义的Locale机制,在编码支持和信息文件(Message File)的翻译上弥补了目前Unix上所普遍采用Locale和gettext的不足之处。Qt的这种机制可以使Qt的同一组件(QWidget)上同时显示不同编码的文本。比如,Qt的标签上可以同时使用中文简体和中文繁体文本。
在文本输入上,Qt采用了XIM(X Input Method)标准协议,可以直接使用XIM输入服务器。由于目前的绝大多数输入服务器都是针对单一语言的,所以在Qt的标准输入组件(QLineEdit,QMultiLineEdit)中的输入受到单一编码的限制,Qt还不支持动态切换编码输入的支持,这是它的不足之处。
1.Qt的文本显示
像普通的国际化过程一样,Qt使用了类似GNU gettext一样的函数QObject:tr(),它用于从Qt的信息文件.qm中取出信息,这些信息是经过Qt的工具处理的。Qt在处理编码时还使用了QTranslator类,可用于指定整个应用软件的的信息文件。
使用Qt编写国际化的程序,最好不要在程序中直接使用特殊编码的文本。比如要编写一中文界面的Qt程序,应该在程序中使用英文,程序编写完成后,把文本提取出来翻译。这样,程序还可以根据Locale的不同,支持多种语言。下面介绍如何在Qt程序中标注字符串,如何提取并翻译文本。
下面是一段使用了QObject:tr()的代码,它建立了一个弹出菜单,菜单项是\,它被放置在菜单条上,在菜单条上显示的是标签\。
QPopupMenu*popup;
popup=new QPopupMenu(this);
popup-insertItem(tr(\,qApp,SLOT(quit())); menubar-insertItem(tr(\,popup);
对于绝大多数情况,可以用上述方法处理。不过有时在定义某些变量中使用的字符串,不能使用上述方法,但是为了让Qt提取并翻译该字符串,必须用某种方法标志出来。Qt定义了QT_TR_NOOP()和QT_TRANSLATE_NOOP()来标志它们。前者用于单个字符串,后者用于多个字符串。比如,
static const char*strings={ QT_TR_NOOP(\, QT_TR_NOOP(\};
有时需要使用printf/sprintf之类的函数动态生成字符串,比如, QStings s;
s.sprintf(\,i); but-setText(s);
对这种使用方式的国际化是使用arg()函数。 QString s=tr(\; but-setText(s);
提取上述信息的方法是使用Qt提供的工具findtr命令: findtr[filename].cpp i18n.po
它类似于GNU的xgettext,上述文件的提取信息文件内包含, .
\:text/plain;charset=iso-8859-1\\n\#:i18n.cpp:34 msgid\:&File\msgstr\.
接下来是文本翻译过程。在Qt中翻译信息文件时应该注意以下事项:(1)提取的信息文件的编码是iso-8859-1,在翻译成某种语言(编码)时应该注意改动它的字符集,比如对中文GB2312和Big5编码,应该是,\:text/plain;charset=gb2312\\n\或者\:text/plain;charset=big5\\n\。(2)提取的信息有一个范围,比如上面的文件指定的范围是ExampleWidget,在翻译前应该把它去掉,变成msgid\:&File\。(3)被翻译的字符串可能含有加速键符号,如\中的\,如果翻译成中文最好保留该信息,它可以翻译成\文件(&F)\。
对于翻译后的文件(比如上面的翻译文件存为i18n_gb.po),必须使用Qt提供的工具msg2qm把它转换为.qm文件才能使用,
msg2qm i18n_gb.po i18n_gb.qm
它类似于GNU的msgfmt命令。翻译后的文件可以用Qt程序直接调用。 QTranslator*translator=new QTranslator(0); translator-load(\,\; qApp-installTranslator(translator);
此外,Qt还提供了类似于msgmerge的工具mergetr,它用于把新提取的信息文件和已经翻译过的信息文件融合起来,在此不再赘述。
在Qt中也可以直接使用QTextCodec来转换字符串的编码,这为在Qt下开发纯中文软件带来了便利条件,不过这种方法不符和国际化/本地化的习惯,
char*string=\中文和English混和字符串!\
QTextCodec*gbk_codec=QTextCodec:codecByName(\; QString gbk_string=codec-toUnicode(string); QLabel*label=new QLabel(gbk_string);
如果使程序只支持一种编码,也可以直接把整个应用程序的编码设置为GBK编码,然后在字符串之前加tr(QObject:tr),
qApp-setDefaultCodec(QTextCodec:codecForName(\; QLabel*label=new QLabel(tr(\中文标签\;
如果使Qt根据Locale的环境变量取得字符集,可以使用QString:fromLocal8Bit(str)。
本节的例子请参见qt-i18n-example.tar.gz 2.Qt的文本输入
在输入方面,Qt的输入条(QLineEdit)和编辑区(QMultiLineEdit)都支持XIM,只要配合相应的输入服务器,便可以输入中文/日文/韩文。目前有许多支持XIM的软件,比如中文:Chinput/xcin/rfinput/q9,日文:kinput2/skkinput,韩文:ami/hanIM。
Qt程序的缺省输入风格是OverTheSpot风格,它也支持OffTheSpot风格和Root风格。用户可以在起动程序时在命令行指定输入风格,比如对程序app,
./app-inputstyle overthespot#缺省风格,光标跟随 ./app-inputstyle offthespot
./app-inputstyle root
经过MiziLinux补丁的Qt-2.2.0支持OnTheSpot输入风格,并且把它作为缺省的输入风格。请参见。
Qt中的任何一个Widget都可以接受输入,只要它可以有键盘聚焦(Keyboard Focus)。所以对特殊Widget的输入处理只需要截获键盘输入,获取从XIM服务器来的字符串。对于OverTheSport风格的支持,刷新XIM输入服务器的位置即可。
3.Qt的打印
在打印方面,XWindow下的Qt生成PostScript并使用lpr打印。它含有QPrinter类,可以方便地支持输出页面的控制。对于中文打印,必须修正PostScript文件的输出部分。
TOpia中文化 一:字符集介绍
我国已经颁布了多种中文信息编码标准,常用的有:GB2312-1980、GB12345、GB13000(GBK)以及最新标准GB18030,其中GB13000是对GB2312的扩展,又常被成为GBK,GB18030向下兼容GB2312和GBK,中文WINDOW98、中文WIN2000操作系统采用的中文字符集是GB2312。
GB2312字库仅覆盖双字节部分,存储位置索引是编码中每字节的第8 bit置0得来的,如A1A1编码汉字在字库中的索引是2121,而非A1A1。以下是它的编码规则:
单字节:00~7F
双字节:A1~F7 A1~FE GBK的编码规则是: 单字节:00~7F
双字节:81~FE 40~7E 80~FE GB18030是最新的汉字编码标准,其编码为一、二、四变长编码:
单字节:00~7F
双字节:81~FE 40~7E 80~FE
四字节:81~FE 30~39 81~FE 30~39 Unicode编码采用等长编码,二个字节表示一个字符编码,对于ASCII码也采用双字节来表示,unicode使用二维空间来描述编码空间,平面分为256行、256列,对应于编码的高低字节。
二:Qt国际化编程
在文本显示上,Qt使用了Unicode作为内部编码,为了程序的国际化,通常我们在文本显示的地方不直接输入本地字符,用英文代替,比如要编写一中文界面的Qt程序,应该在程序中使用英文,程序编写完成后,把文本提取出来翻译。对于需要翻译的地方,首先是在该文本处用tr()函数标识,同时制作出.qm信息文件,并在程序中加入QTranslator即可。比如我们在某一程序中有如下语句:
setCaption(tr(\; 为了能显示中文,有两种方法: 方法一:
l修改工程文件,加上TRANSLATIONS=xxx.ts llupdate工程文件名 l用linguist编辑刚生成的xxx.ts文件并保存
l lrelease工程文件名xxx.qm l在main.cpp中加入QFont font1(\:Unicode);
qApp-setFont(font1);
QTranslator*translator=new QTranslator(0);
translator-load(\,\; qApp-installTranslator(translator); 方法二:
l findtr文件名(通常为CPP文件)xxx.po l编辑po文件,其中charset需由iso-8859-1改为GB2312,然后将\翻译成\主窗口\
l msg2qm– scope zh_CN.GB2312 xxx.po xxx.qm l在main.cpp中加入QFont font1(\:Unicode);
qApp-setFont(font1);
QTranslator*translator=new QTranslator(0); translator-load(\,\; qApp-installTranslator(translator); 方法三:
有时我们只是提供给本地用户使用,无需国际化,QT提供这一支持,在QT中有许多本地字符集同unicode的转换引擎,他们皆为QTextCodec的派生类,如QGbkCodec、QJisCodec,QHebrewCodec等。如:
QFont font1(\:Unicode); qApp-setFont(font1); QString caption=\主窗口\;
QTextCodec*gk_codec=QTextCodec:codecForName(\; setCaption(gk_codec-toUnicode(caption));
从上面可以看出,使用转换引擎可以轻松实现中文显示,简要步骤如下:
1:修改main.cpp文件,将字体改为unifont QFont font1(\:Unicode);
qApp-setFont(font1);
2:在想汉化的内的头文件中加入QTextCodec指针变量和转换函数QString mytr(char*)
#include qtextcodec.h QTextCodec*gbk; QString mytr(const char*);
3:在想汉化的类的实现文件中,修改类构造函数,加入: gbk=QTextCodec:codecForName(\;
4:在想汉化的类的实现文件中,添加mytr函数代码 QString Form1:mytr(const char*chars) {
return gbk-toUnicode(chars,strlen(chars)); }
5:在想汉化的类的实现文件中,用\替换\
2004-12-2测试了上面的方法三,编译通过,如果将codec成员变量改成QTextCodec派生类变量,编译将通不过,比如将QTextCodec*gbk;改成QGbkCodec*gbk;编译将报告此处有语法错误。下面是相似的用法:
1:修改*.cpp文件,在顶部加入codec头文件
#include qgbkcodec.h 2:在*.h文件中,加入mytr()函数声明 QString mytr(char*buffer,int size);
3:在*.cpp文件中,加入mytr()定义 QString mytr(char*buffer,int size) {
QGbkCodec*gbk=QTextCodec:codeForName(\; return gbk-toUnicode(buffer,size); }
4:在需要显示中文的地方,使用mytr函数即可 5:修改main.cpp文件,将字体改为unifont QFont font1(\:Unicode);
qApp-setFont(font1);
备注:在翻译或转换之前必须将Unicode字体调入,否则显示不出中文,网上相关文章并未提及这一点,如果不显式装载该字体,系统默认的是Latin1,于是汉字显不出来。
备注2:在编译qt/embedded之前,必须修改qconfig-qpe.h配置文件的内容,将与TextCodec相关的宏定义给去掉,否则QTextCodec:codecForName(\将返回NULL指针。
备注3:使用findtr命令时可同时查找多个文件的tr(),并将查找结果都放入一个文件内,源文件以空格隔开即可,另外,生成的.po和.qm文件的文件名最好与工程文件名相同!
备注4:如果要显示繁体中文,则需要使用QTextCodec:
codecForName(\。获取本地的使用语言,用QTextCodec:locale(),它返回Qstring变量,通常如果是中文本地的话,通常其值为zh_CN.GB2312和zh_TW.Big5,根据这个返回字符串,可以加载相应的codec。如果程序只支持一种编码,也可以直接把整个应用程序的编码设置为一个默认的编码标准,比如
系统只需要显示中文和英文,则可以直接设置应用程序的默认编码标准是GBK,如下使用方法:
qApp-setDefaultCodec(QTextCodec:codecForName(\; QLabel*label=new QLabel(tr(\中文标签\;
备注5:如果使用本地的字符转换器,可以使用Qstring的静态函数Qstring:fromLocal8Bit(char*buffer,int size),将本地字符串转换成UNICODE字符串,不过要设置好LANGUAGE环境变量。
三:QTOpia中文化
l findtr文件名xxx.po l编辑xxx.po文件
l msg2qm– scope zh_CN.GB2312 xxx.po xxx.qm l拷贝可执行文件到QPEDIR/bin目录
l拷贝xxx.po和xxx.qm文件到QPEDIR/i18n/zh_CN目录 l进入QPEDIR/apps/Applications目录创建一新.desktop文件 l iconv– futf8– tGB18030 xxx.desktop xxx1.desktop l编辑xxx1.desktop文件,主要是修改Exec、Icon、Name和Name[zh_CN]四项
l iconv– fGB18030– tutf8 xxx1.desktop xxx.desktop lrm– fxxx1.desktop lqvfb– depth 16&
l cd$QPEDIR/bin l./qpe
备注:如果你的系统中有多个qtopia版本,要特别注意QTDIR、QPEDIR、LD_LIBRARY_PATH环境变量
备注2:可按照此方法汉化qtopia自带的应用程序
备注3:po文件是中间文件,程序真正需要的是qm文件。iconv是系统自带的内码转换工具,它能将utf8编码的文件转换成gb18030编码的文件,反之
也能,转换这一步必不可少,因为desktop文件缺省是utf8编码的,而我们的redhat linux 7。3中文操作系统用的却是gb18030,所以在编辑器打开前需转换。
四:汉化qtopia-1.5.0 for Arm
首先按照\三\的方法对要汉化的程序提取*.qm文件和*.desktop桌面配置文件,在做完这一步后,将*.qm文件down到目标机的/opt/qtopia-free-1.5.0.arm/i18n/zh_CN目录下,同时将*.desktop文件覆盖/opt/qtopia-free-1.5.0.arm/apps目录下的相应文件,目标机的环境变量配置如下:
export QTDIR=/opt/qt-2.3.3.arm export QPEDIR=/opt/qtopia-free-1.5.0.arm export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export PATH=$QPEDIR/bin:$PATH export LANG=zh_CN
开机启动,由于设置的语言为简体中文,qpe会自动为每个应用加载Unifont字体,以及简体中文目录下的翻译文件,因而显示出中文,翻译文件是一个方面,但更关键的是要显示中文必须有中文字体来支持,Unifont字体包含中文字,因而能显示中文,没有相应字体的支持,光有翻译文件是显示不出中文的!
在经过以上的步骤后,有的应用在显示上依然会显示方框,这多半是由于该窗体相关的字体可能不是支持中文的字体,这需要直接修改源代码,以下是在汉化qtopia-free-1.5.0.arm的过程中的相关记录:
1.在编译qtopia的过程中,可能会报告找不到SetButtonGroupID()函数,编译通不过。这是由于库中并没有该函数,一般情况下将该语句隐藏掉,原代码的原意是设置Button按钮在ButtonGroup组的序号,隐藏该语句对应用无影响。出现这个问题,主要在/netsetup/dialup/dialupbase.cpp文件和/taskbar/shutdown.cpp文件,shutdown.cpp文件的相应行号是:96、149、201、253行。
2.修改mpegplayer/playlistwidget.cpp文件的143行和166行,将字体设置改为Unifont,如下:Qfont(\:Unicode)或者去掉该语句
3.修改snake/interface.cpp的87行和186行,将字体设置改为Unifont,如下:Qfont(\:Unicode)或者去掉该语句
4.修改qasteroids/view.cpp的104行和qasteroids/toplevel.cpp的109行和165行,将字体设置改为Unifont,如下:
Qfont(\:Unicode)或者去掉该语句
5.修改sysinfo/versioninfo.cpp文件,将61行的builder改为作者本人,将50行的v改为tr(\,重新建立po文件,并翻译corpname为国营789北京开发部,使用msg2qm生成qm文件
6.修改桌面,位于taskbar目录下,生成libqpe.po和libqpe.qm文件,并将libqpe.qm文件拷贝到i18n/zh_CN目录下
五:qtopia目录结构
apps/Applications:应用程序桌面配置文件 apps/Games:游戏桌面配置文件 apps/Settings:系统设置桌面配置文件 bin:二进制可执行文件 configs:编译配置文件目录 doc和docs:qtopia的参考文档 etc:应用配置文件目录 i18n:国际化目录 i18n/zh_CN:简体中文目录
include/qpe:与qtopia相关的头文件目录 inputmethods:输入法
library:qtopia部分源代码目录 pics:与应用相关的图片存放目录
plugins:各种插件目录,如mpeg3解码插件、输入法插件等 sounds:音频文件存放目录
taskbar:桌面程序的源代码(qpe的源代码) 文件修改记录:
1:创建于2003/6/9 2:于2003/8/21添加实现中文显示的第三种方法部分
3:于2004-1-18添加文章的\四\内容,一个汉化qtopia for arm的实例,以及\五\。
特别声明: 1:资料来源于互联网,版权归属原作者 2:资料内容属于网络意见,与本账号立场无关 3:如有侵权,请告知,立即删除。
正在阅读:
develop环境下qt中文化程序设计12-18
睾丸肿瘤诊疗指南01-11
双导体运动切割磁感线习题06-09
“八大”危险作业安全规范考试试题12-20
新版IATF16949-2016质量手册和程序文件197页(汽车零配件行业)05-03
中国文化里的情与色读后感精选10篇12-12
群众评议意见的写法02-25
工商局经检分局局长述职述廉报告09-26
扬美古镇古建筑调查报告11-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 中文化
- 程序设计
- develop
- 环境
- 2016-2022年中国包装印刷市场深度研究与投资前景分析报告 - 图文
- (目录)2015-2020年中国光传输设备行业市场调研与投资预测分析报告-发展趋势预测 - 图文
- 山西朔州平鲁区西易煤矿有限公司2
- 河南省南阳市2016-2017学年高一第二学期期末考试政治试卷
- 2015春西南大学《线性代数》第一次作业
- 2010江苏教师招聘试题及答案教育学填空题--教师网会员资料
- 三年级数学备课组活动计划
- 认缴制实收资本账务处理
- 长春版八年级语文下册古诗词训练题
- 《投资学》章后习题集(南开大学2015.1)
- 十年从改变电视的语态开始 读后感
- 两端柱子中间有3个车位,如何选择车位
- 2011年监理工程师案例分析真题与答案
- PEP小学英语六年级上册第五单元测试题
- 新技术、新项目准入管理制度
- 某别墅施工组织设计
- 项目8 tcp、ip网络接口的配置
- 新标准大学英语综合教程1答案
- 一级建造师《港口与航道工程》复习题集(第2452篇)
- 农村小学班级文化创设之研究