如何使我的QLabel滚动显示文字

问题描述 投票:0回答:1

我正在用pyqt5制作一个计算器,但是当计算器QLabel溢出时,我需要它滚动QLabel的最后一位数字

enter image description here

python pyqt pyqt5 qlabel
1个回答
0
投票

一个选项是使用只读的QLineEdit而不是QLabel。例如

from PyQt5 import QtWidgets, QtGui
from PyQt5.QtCore import Qt


class Window(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()

        self.label = QtWidgets.QLineEdit()
        # mimic QLabel by making self.label read-only and removing the frame and background color
        self.label.setReadOnly(True)
        self.label.setStyleSheet("background-color:#00000000; font-size: 20px; border:0px")
        self.label.setAlignment(Qt.AlignCenter)

        self.text_edit = QtWidgets.QLineEdit(self)
        self.text_edit.setPlaceholderText('type something')

        self.vlayout = QtWidgets.QVBoxLayout(self)
        self.vlayout.addWidget(self.label)
        self.vlayout.addWidget(self.text_edit)

        self.text_edit.textChanged.connect(self.label.setText)


if __name__ == '__main__':
    app = QtWidgets.QApplication([])
    window = Window()
    window.show()
    app.exec()

屏幕截图:

screenshot 1screenshot 2

© www.soinside.com 2019 - 2024. All rights reserved.