0

我需要我的 QTextEdit(或正确的:QTextBrowser)来拥有背景图像。

    self.background=QLabel()
    self.background.move(0,0)
    self.background.setPixmap(QPixmap("/Icons/bg-text.png"))
    self.background.show()

    self.textedit = QTextBrowser(self)

    self.background.setParent(self.textedit)

问题是:图像在文本之上。所以不能点击文字来设置光标位置,也不能选择文字。我该如何解决这个问题或制定解决方法?

我知道图像会出现此问题,因为我有一个类似的问题,我在其中制作了一个具有按钮的 QLabel(也带有图像),如果我在图像之后创建按钮,它可以工作(= 我可以单击纽扣)。但是在这里使用 textedit,QTextBrowser 不能像 QLabel 的按钮一样添加到自身。我试图通过在创建背景后设置父级来解决这个问题,但它不起作用。

编辑:

我现在的想法: 1:如果 QLabel 可以点击,它可能会起作用。不知道该怎么做。2:将点击事件传递给self.textedit,这里也一样。

也许这些是很好的起点?

4

1 回答 1

0

哦,是的,我明白了。

您可以使用样式表设置背景图像,甚至可以在其上使用 QLinearGradient。然后您可以正确单击文本。

    self.textedit.setStyleSheet("""QTextBrowser{background: QLinearGradient(x1:0,y1:0,x2:0,y2:1,stop:0 #fff, stop: 0.9 #123);
                                                background-image: url("/home/Icons/bg-text.png");
                                                color: #3159b3}""")
于 2013-08-11T22:18:37.217 回答