LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 696|回复: 1

使用motif开发中文软件的问题

[复制链接]
发表于 2004-9-1 13:51:05 | 显示全部楼层 |阅读模式
我的linux 系统redhat 3.0不是中文的,是装了中文的语言包的,可以显示中文

我在网上找到一段代码是用motif开发的演示程序,代码如下:

  1. #include <X11/Xlib.h>
  2. #include <X11/keysym.h>
  3. #include <Xm/TextF.h>
  4. #include <Xm/TextFP.h>
  5. #include <Xm/LabelG.h>
  6. #include <Xm/RowColumn.h>
  7. #include <locale.h>
  8. #include <ctype.h>


  9. String fallbacks[] = {
  10.         "*fontList:8x16,cclib16_1",
  11.         NULL
  12. };

  13. int main(int argc, char *argv[])
  14. {
  15.         Widget toplevel, text_w, rowcol;
  16.         XtAppContext app;
  17.         //XtAddCallback Test;
  18.         XtCallbackProc Test;

  19.         setlocale(LC_ALL, "");

  20.         toplevel = XtVaAppInitialize(&app, "Demos",
  21.                 NULL, 0, &argc, argv, fallbacks, NULL);

  22.         rowcol = XtVaCreateWidget("rowcol",
  23.                 xmRowColumnWidgetClass, toplevel,
  24.                 XmNorientation, XmHORIZONTAL,
  25.                 NULL);
  26.         XtVaCreateManagedWidget("请输入:",
  27.                 xmLabelGadgetClass, rowcol, NULL);

  28.         text_w = XtVaCreateManagedWidget("text_w",
  29.                 xmTextFieldWidgetClass, rowcol,
  30.                 NULL);

  31.         XtAddCallback(text_w, XmNactivateCallback, Test, 0);

  32.         XtManageChild(rowcol);

  33.         XtRealizeWidget(toplevel);

  34.         XtAppMainLoop(app);
  35. return 0;
  36. }
复制代码

现在编译执行后,图形界面可以出来,但是“请输入”三个字要么就是不出现,要么就是乱码,不知道怎么回事,fallbacks里的字体除了cclib16_1,我还试了用-isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0,-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1等都不可以,情况也就是前面两种。我实在是没有办法了。

我的编译器是gcc3.2,如果想编译此程序使用此命令:g++ -I/usr/X11R6/include -o motif motif.cc -L/usr/X11R6/lib -lXm -lX11

请各位朋友帮个忙吧!:confused:
发表于 2004-9-2 12:24:58 | 显示全部楼层
要不换用gtk吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表