浅谈Linux 下的中文程序开发


现在越来越多的华人开始用 Linux 了.也越来越多的华人开始写我门自己的 Linux 下面的应用程序了. 开发我门自己的程序,中文当然是一个必不可少的东西了. 这里就来说说 Linux 下面的中文程序的开发. 小弟才疏学浅,只是因为看到网络上面这方面的文章不是很多很全面.所以动手写了这些东西.如果有错误,还望大家多多包含,多多指正.

QT
QT 现在被越来越多的人所喜爱.也有了越来越多的人选择 QT 作为开发Xwindow 下面 GUI 环境的语言. 在 Linux 中,绚丽的 KDE 桌面环境就是用 QT 开发出来的. 现在来看看如何在 QT 下面处理中文.
本文中全部在 QT 3 的环境下运作.如果您用的是比较旧的 QT 版本, 请注意:
Tips: 如果您的 Linux 系统中找不到 findtr3 那么请尝试找 findtr2 或者 findtr
Tips: 如果您的 Linux 系统中找不到 msg2qm2 那么请尝试找 msg2qm
Tips: 可以用 which findtr3 或者 whereis msg2qm2 来寻找您的系统
Tips: 如果您希望在自己的计算机中编译本文中的范例, 您需要安装 g++, qt, qt-devel, make 这些 套件.
下面我们来看一个简单的 QT 程序:
代码:
/* chinese.h */

#include
#include
#include
#include

class Chinese: public QWidget
{
Q_OBJECT
public:
Chinese();
private:
QLabel *label;
QLineEdit *input;
private slots:
void display();

};



这里我们简单的定义了一个基于 QWidget 的 class, 命名为 Chinese 然后我们定义了一个 Label *label 和一个 LineEdit input 并且定义一个 代码:
void slot display()
/* chinese.cpp */

#include "chinese.moc"
#include

Chinese::Chinese()
{
resize(200,100);

label=new QLabel( "Input Line:", this);
label->setGeometry(10,10,90,30);

input=new QLineEdit(this);
input->setGeometry(10, 40, 180, 30);
input->setFocus();
connect(input, SIGNAL(returnPressed()), this, SLOT(display()));

}
void Chinese::display()
{
QCString string;
string=input->text();
cout< }



在 .cpp 文件中. Chinese::Chinese() 中,我们只做了四件最简单的事情 1. 显示一个叫做 Input Line: 的 label 在 10,10 这个位置上. 大小为 90 30. 然后显示一个可以用来输入的 LineEdit 在 10, 40, 大小为 180, 30. 然后告诉程序,当程序打开的时侯,将 focus 用 setFocus() 放在 input ( QLineEdit )上面.也就是说,程序一打开,我们打 keyboard 就可以直接输入到 input 这个 QLineEdit 中. 然后我们告诉程序,当在 input 中接收到 Enter 键的时侯,去呼叫 display() 这个 slot Chinese::display() 中.我们有三个动作. 1. 定义一个 QCString 用作 QT 与 C++ 之间的沟通. string=input-text() 把我们输入在 input 中的 string 抓下来,放到 string 中.然后用 cout 把 string 显示在您的 X 终端模拟中. (rxvt, qterm, xter Konsole 之类的程序)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一页
【内容导航】
第1页:浅谈Linux 下的中文程序开发 第2页:浅谈Linux 下的中文程序开发
第3页:浅谈Linux 下的中文程序开发 第4页:浅谈Linux 下的中文程序开发
第5页:浅谈Linux 下的中文程序开发

相关内容