c – Qt:发送Key_Return和Key_Delete事件

c – Qt:发送Key_Return和Key_Delete事件,第1张

概述我正在使用Qt Embedded开发虚拟键盘,我遇到了一个小问题.事实上,我使用SignalMappers将键映射到键盘事件,以便在QTextEdit小部件中显示文本. 一切正常,除了两个事件:Key_Return和Key_Delete;我不知道我做错了什么,也许你会有一个想法. 这是一个经典的代码,发送字符: void VirtualKeyboard::SendChar( int index ) 我正在使用Qt Embedded开发虚拟键盘,我遇到了一个小问题.事实上,我使用SignalMappers将键映射到键盘事件,以便在QTextEdit小部件中显示文本.

一切正常,除了两个事件:Key_Return和Key_Delete;我不知道我做错了什么,也许你会有一个想法.

这是一个经典的代码,发送字符:

voID VirtualKeyboard::SendChar( int index ){    QChar charToSend( letters_.at( index )->text().at( 0 ) ); // Get char    server_->sendKeyEvent( charToSend.unicode(),QEvent::KeyPress,Qt::NoModifIEr,true,false );}

letters_是包含QPushbutton *的QVector,server_是QWSServer的实例;这段代码工作正常.
现在,例如使用退格:

voID VirtualKeyboard::SendBackspace(){    server_->sendKeyEvent( Qt::Key_Backspace,Qt::Key_Backspace,false );}

这段代码也可以正常工作.并且代码不起作用:

voID VirtualKeyboard::SendDelete(){    server_->sendKeyEvent( Qt::Key_Delete,Qt::Key_Delete,false );}voID VirtualKeyboard::SendEnter(){      server_->sendKeyEvent( 0x01000004,Qt::Key_Return,false ); }

正如你所看到的,我试图设置一个unicode值,但它没有帮助;你能帮我吗 ?

谢谢 !

解决了以下代码(见评论):

voID TextEdit::DeleteEvent(){    if( cursor_.hasSelection() )    {        // Delete selection        cursor_.removeSelectedText();    }    else    {        // Delete right char        cursor_.deleteChar();    }    setTextCursor( cursor_ );}voID TextEdit::ReturnEvent(){    cursor_.insertText( "\n" );    setTextCursor( cursor_ );}

cursor_是一个QTextCursor属性,用这一行初始化:

cursor_ = textCursor();
解决方法 解决了以下代码(见评论):

voID TextEdit::DeleteEvent(){    if( cursor_.hasSelection() )    {        // Delete selection        cursor_.removeSelectedText();    }    else    {        // Delete right char        cursor_.deleteChar();    }    setTextCursor( cursor_ );}voID TextEdit::ReturnEvent(){    cursor_.insertText( "\n" );    setTextCursor( cursor_ );}

cursor_是一个QTextCursor属性,用这一行初始化:

cursor_ = textCursor();
总结

以上是内存溢出为你收集整理的c – Qt:发送Key_Return和Key_Delete事件全部内容,希望文章能够帮你解决c – Qt:发送Key_Return和Key_Delete事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存