Nix*_*xel 4 indentation python-3.x qplaintextedit pyqt5
在PyQt5中使用QPlaintextEdit时,如果按Tab键盘上的按钮,将得到一个等于六个空格大小的制表符空格。但我希望它是四个空格的大小,以便在使用时:
TextEdit.setPlainTextEdit('\t')
Run Code Online (Sandbox Code Playgroud)
我应该缩进制表符空格,该空格一共只要四个空格。
我尝试使用四个空格代替制表符空格,但是随着代码变得越来越冗长,事情变得复杂了。
可以使用setTabStopDistance设置选项卡的宽度。这需要一个浮点值,可以使用QFontMetricsF类进行计算:
textedit = QtWidgets.QPlainTextEdit()
textedit.setTabStopDistance(
QtGui.QFontMetricsF(textedit.font()).width(' ') * 4)
Run Code Online (Sandbox Code Playgroud)
但是,此方法仅在Qt-5.10中引入,因此对于Qt4和较旧版本的Qt5,必须使用setTabStopWidth(现已记录为过时的):
textedit = QtWidgets.QPlainTextEdit()
textedit.setTabStopWidth(textedit.fontMetrics().width(' ') * 4)
Run Code Online (Sandbox Code Playgroud)
此方法的最大缺点是仅采用整数值。这意味着不能保证使用非整数字符宽度的字体(例如DejaVu字体和许多其他字体)都能得到准确的结果。
| 归档时间: |
|
| 查看次数: |
535 次 |
| 最近记录: |