问题标签 [qtextcursor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 QTextEdit 内移动光标
我有一个表格,上面有一个QTextEdit
,叫做translationInput
. 我正在尝试为用户提供编辑功能。
这QTextEdit
将包含 HTML 格式的文本。我有一组按钮,例如“粗体”、“斜体”等,它们应该将相应的标签添加到文档中。如果在没有选择文本时按下按钮,我只想插入一对标签,例如<b></b>
. 如果选择了某些文本,我希望标签出现在它的左右两侧。
这工作正常。但是,我还希望在此之后将光标放在结束标记之前,这样用户就可以继续在新添加的标记内输入内容,而无需手动重新定位光标。默认情况下,光标出现在新添加的文本之后(所以在我的例子中,就在结束标记之后)。
这是斜体按钮的代码:
但是,最后一行什么也没做,光标也没有移动,即使movePosition()
返回了true
,这意味着所有的操作都成功完成了。
我也尝试过使用QTextCursor::PreviousCharacter
而不是这样做QTextCursor::Left
,并尝试在将焦点返回到编辑之前和之后移动它,但没有任何改变。
所以问题是,如何将光标移动到我的QTextEdit
?
python - Python/C++、PyQt4/Qt4:如何在 QTextTable 的单元格中插入多行文本
我正在尝试使用 PyQt4 创建一个 odt 文档。该文档涉及在单元格中插入多行文本。我的示例代码:
我希望“第 1 行”和“第 2 行”位于同一个单元格中,但由于换行,它们位于不同的单元格中。这也与上面的代码具有相同的效果:
qt - QTextCursor 和 beginEditBlock
我在 QPlainTextEdit 中有一些文本,每行以 10 个空格开头:
然后,我选择几行,并在一个循环中从所有选定的行中删除前两个空格:
问题是上面的代码“损坏”了最后选择的行 - 好像它删除了某种行尾标记 - 当我想跳到最后一行的末尾时,光标移动到它下面的行,在第一个和第二个字符。即使选择在编辑后也没有正确显示 - 除了最后一行之外的所有行都将选择指示器扩展到右侧窗口边缘,最后一行的指示器仅与该行一样宽。
当我删除beginEditBlock()
并且endEditBlock()
一切正常。
请问,有谁知道为什么会这样?
qt - Qt 忽略 QTextDocument 中的 CSS
这是我的代码的一小段,我不知道为什么,但 Qt 忽略了 css。
我正在使用 Qt 4.8。
qt - QLineEdit 光标在 textChanged() 或 commitData() 之后移动到结尾
我有QTableView
一列使用 aQLineEdit
作为其编辑器委托,而其他列需要在用户输入时动态更新QLineEdit
(例如,其中一列包含输入的文本的长度,QLineEdit
它应该作为用户更新类型,而不是等待他们按 Enter 提交)。
我使用了这段代码:Qt:在编辑 QTableView 项目数据时发出信号,而不是在编辑完成后发出信号?这主要是有效的。它将QLineEdit textChanged()
信号连接到编辑器的commitData()
信号。
这段代码的问题在于,当用户键入时,QLineEdit
的插入光标总是跳到末尾。如果您将文本附加到行尾,那很好。但是如果用户想在行的中间插入或编辑文本,每输入一个字母,文本插入光标就会跳到QLineEdit
. 每次击键后,他们必须重新定位光标才能在中间完成插入/编辑。
如果我禁用映射器,则光标不会跳转,因此它不是编辑器委托所固有的;仅在使用上面链接的问题中的代码时才会发生。
我查看了代码QLineEdit textChanged()
,commitData()
但我无法弄清楚是什么导致光标跳转到QLineEdit
. 有任何想法吗?谢谢!
qt - QTextCursor::insertImage ( const QImage & image, const QString & name = QString() ) 的分辨率问题
我想在 QTextDocument 中插入 QImage 并将其保存为 PDF 文件。为此,我使用 QTextCursor::insertImage ( const QImage & image, const QString & name = QString() ) 方法,但图像是像素化的。使用相同的图像和 QTextCursor::insertImage ( const QTextImageFormat & format, QTextFrameFormat::Position alignment ) 方法很好。
这是一个例子:
这是我的 QTextDocument 中的 QTextImageFormat 插入和 QImage 插入之间的区别的屏幕截图。 该图像与上述代码不完全对应。
谢谢
qt - 我如何在 QWebView Editable 中获得 textcursor 的位置
II 有一个可编辑的 QWebView,并想获得 TextCursor 的位置(QPoint)。我搜索但只能找到光标(鼠标指针)的位置 webview-> cursor.pos(); 而这个职位不是我想要的。
有人有什么建议吗?
谢谢!
python - setBold(True) 仅在 textcursor 未移动时才有效,为什么?
我想将 selectedPart 的文本设置为粗体。我想根据角色的格式来做到这一点。使用我的代码,我可以检测到该格式,但设置粗体不起作用。如果我取消注释那 2 行注释,并注释下面的所有行(当然接受最后 5 行),我可以将代码设置为粗体。
这段代码完全可以工作,你可以测试一下,也许你有一个想法。您通过鼠标选择文本,然后使用 CTRL+B 调用 set-bold-method。
(我对此的想法:问题似乎取决于我移动 QTextCursor 以获取有关选择另一端的字符格式的信息这一事实。也许有一种更简单的方法来获取该信息,但我只是想通了这个。但我不明白为什么 textCursor 的移动不好,因为它似乎仍然有一个有效的选择,我假设 font=self.currentFont() 仍然可以工作。)
python - 为 textCursor 设置锚点以匹配正则表达式
使用正则表达式,我发现了文本中的所有链接。现在我怎样才能只为自己选择链接并插入一个锚点?
我已经使用过:
这具有将整个文本作为链接制作的问题。那是因为我选择了整个文档,我知道。但是,我怎样才能自动选择找到的链接呢?例如,如果文本是
我希望自动选择 www.google.com 和 www.stackoverflow.com。我已经通过正则表达式找到了这两个字符串。
编辑:
我找到了一种选择链接的方法。起初我得到一个链接的索引
甚至更好:
然后我还有另外两个问题:
该链接仅在我将文本重新设置为 html 后显示
如果我点击链接,什么都不会发生,但每个文本都会被清除。
在phase5(html-editor)中输入html,似乎链接只有在它们像“a href="http://..:"而不是“a href="www.."时才有效。你有什么建议吗?