Qt怎么获取QTextEdit中文本的行数blockcount()函数返回的只是段落数、、、

Qt怎么获取QTextEdit中文本的行数blockcount()函数返回的只是段落数、、、,第1张

法1 QTextCursor tc = fileedit_window->textCursor(); //当前光标

QTextLayout lay = tcblock()layout();

int curpos = tcposition() - tcblock()position();//当前光标在本BLOCK内的相对位置

int textline = lay->lineForTextPosition(curpos)lineNumber() + tcblock()firstLineNumber();

法2 int textline = fileedit_window->document()->lineCount();

好像是从0开始的行号,记不清了,可以调试看看。

this->setAttribute(Qt::WA_KeyCompression, true);

可是用输入法输入中文后,keyPressEvent进不去

QLineEdit有textChange 信号,关联这个信号,在槽里面可以接受到字符。

没有QLineEdit啊

不用打字啊,字符串用作他用

不用控件输入啊,我只是想获得输入的字符串,不过用你的方法,是不是可以搞一个隐藏的QLineEdit让他获得焦点,不过左右方向键应该会有影响吧

又或者我接收到输入法的字符串,传递给其他窗体;

或者做一个打字练习程序,本来Label里有一些字,打出来的字对比后一样的话就改变那个字的颜色。。。

打字的过程自己实现,你要实现输入法?为什么不直接用QTextEdit呢,你的要求用QTextEdit好像全部能实现吧,接收输入法的字符串, QTextEdit有textChage信号,打字练习,你只要拿label上的字和textEdit上字符进行比较,改变下字体颜色,对的用黑色显示,错的是红色显示,这是可以实现的,你就是想插入,在输入字,在插入,textEdit多可以实现。

以上就是关于Qt怎么获取QTextEdit中文本的行数blockcount()函数返回的只是段落数、、、全部的内容,包括:Qt怎么获取QTextEdit中文本的行数blockcount()函数返回的只是段落数、、、、在Qt或普通C++编程中,为什么该语句可以直接调用呢 QLineEdit::keyPressEvent(event);、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9278477.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存