我制作了一个 QGraphicsTextItem 并将纯文本设置为其内容。之后,我在 QGraphicsWidget 中设置了 QGraphicsTextItem。
我的问题是,是否可以QGraphicsTextItem
像这张图片一样调整包括其文本/内容的大小:
这是我要求的调整大小的视频。
如果这是可能的,我怎样才能将它应用到QGraphicsTextItem
?
第一张图片是图像,QGraphicsTextItem
但我不知道如何在视频中实现调整大小。
我尝试过的事情:
- 我尝试使用
setTextWidth()
并将其设置为 0.5,但它不起作用。 - 我也尝试使用
adjustSize()
QGraphicsTextItem 但它也不起作用。
重现问题的代码:
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.view = QGraphicsView()
scene = QGraphicsScene()
#before resizing
item = QGraphicsTextItem("Line 1 Line 2 Line 3")
item.setFlags(QGraphicsWidget.ItemIsSelectable)
item.setPos(self.view.mapToScene(2, 2))
scene.addItem(item)
#after resizing
item_1 = QGraphicsTextItem("Line 1\nLine 2\nLine 3")
item_1.setFlags(QGraphicsWidget.ItemIsSelectable)
item_1.setPos(self.view.mapToScene(2, 30))
scene.addItem(item_1)
self.view.setScene(scene)
self.setCentralWidget(self.view)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MainWindow()
w.show()
app.exec_()