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)

問題は、画像がテキストの上にあることです。そのため、テキストをクリックしてカーソル位置を設定することも、テキストを選択することもできません。これを解決するにはどうすればよいですか、または回避策を作成できますか?

私はこの問題が画像で発生することを知っています.pushButtonsを持つQLabel(画像も含む)を作成する同様のものがあるため、画像の後にpushButtonsを作成すると機能します(=ボタン)。しかし、ここで textedit を使用すると、QLabel のボタンのように QTextBrowser をそれ自体に追加することはできません。背景を作成した後に親を設定することでこれを解決しようとしましたが、うまくいきません。

編集:

現時点での私の考え: 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 に答える