PyQt or PySide: QTextEdit deselect all

2020-03-24 07:22发布

I'm using PySide(PyQt is fine as well) and I want to deselect everything inside a QTextEdit. Selecting everything is very easy and it's done by self.textedit.selectAll(), but I can't find a simple way to deselect everything. Is there a straightforward way to do it that I'm not aware of or is it more complicated than that?

Thanks.

2条回答
Animai°情兽
2楼-- · 2020-03-24 07:59

It same too, isn't it?

QLineEdit.deselect (self) Text all in your object.

Example;

.
myQLineEdit = QLineEdit()
.
.
myQLineEdit .selectAll()
.
.
myQLineEdit.deselect()
.

Reference : http://pyqt.sourceforge.net/Docs/PyQt4/qlineedit.html#deselect


Or, did your want to deselect all QLineEdit, your just find Children is a QLineEdit and deselect it all;

myQWidget= QWidget()
.
.
listsMyQLineEdit = myQWidget.findChildren(QLineEdit)
for myQLineEdit in listsMyQLineEdit:
    myQLineEdit.deselect()
.
.

Regards,

查看更多
▲ chillily
3楼-- · 2020-03-24 08:05

You want to first get the QTextCursor for the QTextEdit

my_text_cursor = my_text_edit.textCursor()

Then clear the selection of the QTextCursor

my_text_cursor.clearSelection()

Then update the QLineEdit with the new QTextCursor (see documentation for QTextEdit.textCursor() which indicates updating the returned QTextCursor does not actually affect the QTextEdit unless you also call the following)

my_text_edit.setTextCursor(my_text_cursor)
查看更多
登录 后发表回答