我想知道是否可以在PyQt5中更改在QTextEdit
中按 Tab 时产生的空间大小,因为我不知道如何更改它非常大。
答案 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)