Skip to content

PyQt text box which is movable, auto-resizable by text size. Parent class is QGraphicsWidget.

License

Notifications You must be signed in to change notification settings

yjg30737/pyqt-textbox-graphics-widget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyqt-textbox-graphics-widget

PyQt text box which is movable, auto-resizable by text size. Parent class is QGraphicsWidget.

Requirements

  • PyQt5 >= 5.8

Setup

python -m pip install pyqt-textbox-graphics-widget

Usage

You can move the box if you drag any areas near the border. If you click any areas near the middle of the box, cursor will be shown to let you write something down. Box will be auto-resized by text size. (See the result below)

Example

Code Sample

from PyQt5.QtWidgets import QApplication, QGraphicsView, QGraphicsScene, QMainWindow
from pyqt_textbox_graphics_widget import TextBoxGraphicsWidget


class DiagramMainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.__initUi()

    def __initUi(self):
        view = QGraphicsView()

        self.__scene = QGraphicsScene()
        self.__scene.setSceneRect(0, 0, 400, 400)
        
        textBox = TextBoxGraphicsWidget()
        self.__scene.addItem(textBox)
        view.setScene(self.__scene)

        self.setCentralWidget(view)


if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    diagramMainWindow = DiagramMainWindow()
    diagramMainWindow.show()
    sys.exit(app.exec_())

Result

pyqt_textbox_graphics_widget_example_video.mp4

See Also