Hi Hamza,
I think there is some confusion between the Graphics View framework (which handles the use of QGraphicsItems, which is ~98% of where pyqtgraph operates in), and QtWidgets, which are the more generic UI components. You can embed a graphics view within a QtWidget (that's how we get plots in windows), but there is no way* to put a QWidget within a Graphics View (not technically true, there is QGraphcisProxyWidget, but you want no part of that as it will kill any performance).
If you're using a GraphicsLayoutWidget, and are looking to display text within the plot, you want to be using a TextItem (which is a QGraphicsItem). LabelItem is a QWidget, which I believe is used as a helper object for ParameterTrees.
In addition to the crosshair example that Martin linked, there is also the
InfiniteLine example which likely has some similar behavior to what you're looking for.