首页| 论坛| 消息

回复: qtembedded的桌面系统EMD(即Embedded desktop)
#86 [watery920 10-07 14:40]
另外一问,输入法与软键盘可以直接做成独立运行的程序吗?像是/emd/emdesktop-running-environment/app底下的hellow,imageview,textedit,lineedit,直接以./来执行,不需透过emd的程序?是否可以请楼主给予指示,感谢!
#87 [watery920 10-07 15:04]
修正以上的问题!!应该是夹带输入法的软键盘是否可以做成独立运行的程序!?
#88 [zzz945 10-08 14:17]
引用第85楼watery920于2010-10-07 14:16发表的:
楼主,再请教一下,server接受到消息是以这个函数来接受的?(bool ApplicationsManager::launch).但是这个函数中好像没有发送启动输入法的信号? 是这个函数slotChannelMessage(QString, QByteArray) 发送启动输入法信号吗?谢谢!!
当有启动输入法的需要时, ApplicationManager::message(...)信号就会发送启动输入发的信息, 它只管发送信号, 而不管谁关心这个信号。 关心这个信号的有ImManager类, 所以在它的构造函数中你会发现它connect了这个信号到自己的槽中处理。 这就是Observer模式, 谁关心谁注册, 实现模块解偶的灵丹妙药, 也是QT中signal and slot的精华。
#89 [zzz945 10-08 14:25]
引用第86楼watery920于2010-10-07 14:40发表的  :
另外一问,输入法与软键盘可以直接做成独立运行的程序吗?像是/emd/emdesktop-running-environment/app底下的hellow,imageview,textedit,lineedit,直接以./来执行,不需透过emd的程序?是否可以请楼主给予指示,感谢!
int main(......)
{
       .......
       QTextEdit *text_edit = new QTextEdit;
       AbstractInputMethod *pin_yin = new PinYinInputMethod;
       QWSServer::instance()->setCurrentInputMethod(pin_yin);
       pin_yin->toggled(true);
       QVBoxLayout *vbox = new QVBoxLayout;
       vbox->addWidget(text_edit);
       vbox->addWidget(pin_yin->widget());
       QWidget main;
       main.setLayout(vbox);
       main.show();
       ......
}
你还要修改pinyininputmethod.cpp中输入法库文件的路径, 让程序能找到它们
上面的代码没有过测试
#90 [watery920 10-08 14:34]
在applicationsmaanger.cpp中只有看到ApplicationsManager::slotChannelMessage(),没有ApplicationManager::message(),请问是后来程序有改吗?
我是从这边取得程序的!! http://emd.svn.sourceforge.net/viewvc/emd/?view=tar
点击任务栏上app中的textedit会出现错!!
以上的指示程序,我看到了,谢谢!!

<< 16 17 18 19 20 >> (18/40)

回复 发表
主题 版块