2

Qt で GLSL のコード エディターに取り組んでいますが、QTextEdit の行番号の表示に問題があります。Qt Code Editor Exampleの例はわかりませんが、この部分

QTextBlock block = firstVisibleBlock();
int blockNumber = block.blockNumber();
int top = (int) blockBoundingGeometry(block).translated(contentOffset()).top();
int bottom = top + (int) blockBoundingRect(block).height();

firstBisibleBlock、blockBoundingGeometry、blockBoundingRect メソッドがないという事実を考えると、QTextEdit とうまく組み合わせることはできません。ブロックが QTextDocument に保持されていることは知っていますが、そのクラスにはこれらのメソッドもありません。

例を探してみましたが、誰かがこの質問をするたびに、同じリンクに誘導されます。

誰でも私を助けることができますか?

ありがとう

4

1 に答える 1

0

この例では、 etc 保護された関数を使用QPlainTextEditしてアクセスします。firstVisibleBlock()

のソース コードを見て、QPlainTextEditこれらの機能を実装するために IT が行っていることを確認してください。それらはドキュメントの観点から実装されているように見えます(少なくともfirstVisibleBlock()そうです)。

または、例をコピーして自分から派生し、QPlainTextEdit使用しないでくださいQTextEdit

于 2012-08-24T11:32:50.427 に答える