📜  PyQt5 QScrollBar – 获取光标(1)

📅  最后修改于: 2023-12-03 15:03:58.334000             🧑  作者: Mango

PyQt5 QScrollBar – 获取光标

在 PyQt5 QScrollBar 中,获取光标非常简单。我们可以使用以下方法:

    scrollbar.cursor()

此方法返回当前光标在滚动条中的位置的值。该值通常在给定范围内的整数,其中范围由 minimum() 和 maximum() 函数定义。

以下是一个完整的示例程序:

from PyQt5.QtWidgets import QApplication, QScrollBar, QWidget
from PyQt5.QtCore import Qt


class Scrollbar(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.scrollbar = QScrollBar(Qt.Horizontal, self)
        self.scrollbar.setGeometry(30, 40, 200, 20)
        self.scrollbar.sliderMoved.connect(self.onChanged)
        self.show()

    def onChanged(self):
        value = self.scrollbar.value()
        self.setWindowTitle(str(value))

        # Get cursor position
        cursor = self.scrollbar.cursor()
        print("Cursor position: {}".format(cursor))


if __name__ == '__main__':
    app = QApplication([])
    scrollbar = Scrollbar()
    app.exec_()

此例中,我们创建了一个水平滚动条。在 onChanged() 方法中,我们获取了当前滑块的值(通过 self.scrollbar.value())和当前光标的位置(通过 self.scrollbar.cursor()),并打印了它们。

请注意,获取滚动条的光标仅对可滚动内容(例如 QTextEdit 或 QPlainTextEdit)有意义。在不可滚动的内容上,光标位置将始终为 0。

想要尝试更多 PyQt5 QScrollBar 的功能,您可以点击这个链接:https://doc.qt.io/qt-5/qscrollbar.html