PyQt label which is moving from left to right
- PyQt5 >= 5.8
python -m pip install pyqt-moving-label
This inherits the QLabel.
Good to use as an advertisement or notice tool.
You can create constructor like this - MovingLabel('Moving Label', parent_class)
. Both two arguments are necessary.
Moving duration is set to 3000 milliseconds by default.
setDurationBasedOnWindowSize(f: bool)
- Set the duration based on window size. If you set this toTrue
, The window gets bigger the moving speed gets faster. The window gets smaller the moving speed gets slower.setDuration(milliseconds: int)
- Set the duration of label moving from left to right.
Code Sample
from PyQt5.QtWidgets import QMainWindow, QApplication, QVBoxLayout, QTextEdit, QWidget
from pyqt_moving_label.movingLabel import MovingLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.__initUi()
def __initUi(self):
self.__label = MovingLabel('Moving Label', self)
# if you want to set the dynamic moving speed based on window size
# self.__label.setDurationBasedOnWindowSize(True)
# if you want to set the duration
# self.__label.setDuration(5000)
lay = QVBoxLayout()
lay.addWidget(self.__label)
lay.addWidget(QTextEdit())
mainWidget = QWidget()
mainWidget.setLayout(lay)
self.setCentralWidget(mainWidget)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
Result