C++/Qt:绘制插入符号

发布于 2024-07-14 22:34:00 字数 252 浏览 4 评论 0原文

我正在学习Qt。 我刚刚开始通过继承QAbstractScrollArea从头开始编写一个文本编辑器。 我这样做只是为了练习。 但现在我面临着显示插入符号的问题。 我想到的是painter.drawLineQTimer。 您能否就此提供一些建议。 我也很高兴听到一些实施块和下划线插入符的策略。

题外话:这是一个错误吗? StackOverflow 说这个问题有两个答案,但我只看到一个!

I'm learning Qt. I just started to write a text editor from scratch by inheriting QAbstractScrollArea. I'm doing this just for practice. But now I'm faced with the problem of displaying a caret. What comes to my mind is painter.drawLine and QTimer. Can you give some advices on this. I would also be glad hear some strategies to implement block and underscore caret.

Off Topic: Is this a bug? StackOverflow says there are two answers for this question but I'm seeing only one!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千秋岁 2024-07-21 22:34:00

看一下QLineEdit中的paintEvent()。 它有一个计时器,可以打开和关闭光标。 真正的光标绘制是通过QTextLayout::drawCursor完成的。

对于一般的文本编辑器,请查看 QPlainTextEditQTextEdit

Take at a look at paintEvent() in QLineEdit. It has a timer that toggles the cursor on and off. The real cursor drawing is done via QTextLayout::drawCursor.

For a text editor in general, have a look at QPlainTextEdit and QTextEdit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文