Používam QTextEdit na implementáciu editora. Jednou z požiadaviek, ktorú mám, je pridanie textu pevnej pozície na vrch obrázku.
Napríklad: Mám obraz rozmerov: 300x300. Potrebujem pridať text začínajúci na mieste (20, 20) obrázka a zabezpečiť, aby text neprekročil šírku obrázka.
Niečo ako nižšie:
Myslím, že ak môžem pridať QGraphicView, japridať obrázok a vhodne umiestniť text. Je to možné? Existuje spôsob ako zaviesť grafický prvok do QTexteditu? Ak nie, aký je správny prístup?
odpovede:
0 pre odpoveď č. 1Existuje spôsob ako zaviesť grafický prvok do QTextEdit? Ak nie, aký je správny prístup?
Môžete sa na to pozrieť iným spôsobom a pridať QTextEdit do QGraphicsScene. Grafická scéna poskytuje QGraphicsProxyWidget na pridanie štandardných widgetov Qt.
Preto môžete vytvoriť QGraphicsScene aQGraphicsView. Pridajte pre obrázok QGraphicsPixmapItem a pridajte položku QTextEdit s výzvou na QGraphicsScene :: addWidget, ktorá vráti QGraphicsProxyWidget, čo vám umožní umiestniť, zmenšiť a zmeniť veľkosť widgetu.
Alternatívne môžete začať s QGraphicsItem, zdediť z neho a vytvoriť svoj vlastný objekt, ktorý zapuzdruje obraz a proxy objekt QTextEdit.
Existujú aj iné spôsoby riešenia tohto problému, alePravdepodobne pôjdem pre vlastný QGraphicsItem. Záleží to aj na vašej špecifikácii, ale môžete pridať textové položky v grafickej scéne, bez QTextEdit, aj keď budete musieť implementovať funkciu úprav, ak je to potrebné.