在PyQt5中的QTextEdit中更改选项卡的缩进空间

时间:2018-10-25 12:31:00

标签: pyqt5

我想知道是否可以在PyQt5中更改在QTextEdit中按 Tab 时产生的空间大小,因为我不知道如何更改它非常大。

2 个答案:

答案 0 :(得分:1)

想要吗?您可以根据需要更改空白。

我插入4个空格,因为我认为这是python的标准。

from PyQt5 import QtWidgets
from PyQt5 import QtGui
from PyQt5 import QtCore
import sys
class TextEdit(QtWidgets.QTextEdit):
    def __init__(self,parent=None):
        super(TextEdit,self).__init__(parent=None)
    def keyPressEvent(self,event):
        if event.key() == QtCore.Qt.Key_Tab:                
            tc = self.textCursor()
            tc.insertText("    ")
            return
        return QtWidgets.QTextEdit.keyPressEvent(self,event)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = TextEdit()
    window.show()
    sys.exit(app.exec_())

答案 1 :(得分:0)

您可以使用setTabStopDistance(在最新的PyQt5版本中)或setTabStopWidth方法来更改此值:

textEdit = QtWidgets.QTextEdit()
textEdit.setTabStopDistance(size_of_tab_here)
textEdit.setTabStopWidth(size_of_tab_here)

大小设置为4个空格的示例:

textEdit = QtWidgets.QTextEdit()
font = textEdit.font()
fontMetrics = QtGui.QFontMetricsF(font)
spaceWidth = fontMetrics.width(' ')
textEdit.setTabStopDistance(spaceWidth * 4)