
法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);、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)