如何计算 qscintilla 中的行数?

How to count lines in qscintilla?

我正在使用 QScintilla 在 pyqt5 python 中制作我自己的记事本以获得乐趣。我在想是否有办法获取 QScintilla() 小部件的行数?

你要用lines()的方法,也可以用linesChanged的信号。

import sys
from PyQt5 import QtWidgets, Qsci


class Editor(Qsci.QsciScintilla):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setText("Foo\nBar")
        self.print_lines()

        self.linesChanged.connect(self.handle_lines_changed)

    def handle_lines_changed(self):
        self.print_lines()

    def print_lines(self):
        print("total lines: {}".format(self.lines()))


if __name__ == "__main__":

    app = QtWidgets.QApplication(sys.argv)
    w = Editor()
    w.resize(640, 480)
    w.show()
    sys.exit(app.exec_())