导航
  • 主页
  • 系统维护与使用
  • 应用程序开发
  • 内核源代码
  • 驱动程序开发
  • CPU和硬件区
  • UNIX文化
  • Solaris
  • Power Linux
  • 问答

桌面程序,中文按钮显示乱码如何解决?

microchu 2003-07-14 10:04:59
源码如下:
/*********************************************************
*
* file:xmbutton.c
* project:Motif Widgets example programs
* description:This program creates a PushButton widget.
* **********************************************/
/* include files */
#include <X11/Intrinsic.h>
#include <Xm/Xm.h>
#include <Xm/PushB.h>

/* functions defined in this program */
void activateCB(Widget,XtPointer,XtPointer);
XmString btn_text;

int main(int argc,char** argv)
{
Widget toplevel;
Widget mybutton;
XtAppContext app_context;
Arg args[10];
int n=0;
toplevel = XtAppInitialize(&app_context, "XMdemos",NULL,0,
&argc,argv,NULL,NULL,0);
btn_text = XmStringCreateLtoR("请按这里!",XmSTRING_ISO8859_1);
XtSetArg(args[n],XmNlabelString,btn_text); n++;
XtSetArg(args[n],XmNwidth,250);n++;
XtSetArg(args[n],XmNheight,150);n++;

mybutton = XtCreateManagedWidget("button",xmPushButtonWidgetClass,
toplevel,args,n);
XtAddCallback(mybutton,XmNactivateCallback,activateCB,NULL);
XtManageChild(mybutton);
XtRealizeWidget(toplevel);
XtAppMainLoop(app_context);
return 0;
}
void activateCB(Widget w,XtPointer client_data,XtPointer call_data)
{
printf("PushButton selected.\n");
// XmStringFree(btn_text);

}

...全文
46 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wollya 2003-07-18
你还没告诉你的系统用什么字符集,用什么字体,
set local
命令符,程序设定都可以,
具体情况,请到网上搜索
回复
shooterlily 2003-07-18
setlocale(LC_ALL,"zh")
回复
microchu 2003-07-17
不行啊!高手哪里去了?
回复
jasminelai 2003-07-14
在网上查找一个叫zhcon的rpm包安装,好象可以解决。试试吧。
回复
microchu 2003-07-14
没人会吗?
回复
发动态
发帖子
Linux/Unix社区
创建于2007-08-27

2.0w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
社区公告
暂无公告