0

我制作了一个 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_()
4

0 回答 0