创建一个可点击的QTextEdit,标签中的像素图作为背景

时间:2013-08-11 21:37:02

标签: python drawing pyqt4 qtextedit pixmap

我需要我的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)

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

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

编辑:

我现在的想法: 1:如果QLabel是点击式的,它可能会起作用。不知道该怎么做。 2:将click-event传递给self.textedit,同样在这里。

也许这些是开始的好点?

1 个答案:

答案 0 :(得分: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}""")