私はC++とQtの新機能です。QTextBlockはどのように使用しますか?
オブジェクトにQTextBlocks
を埋め込みたいのですが、どうすればよいですか?
「魚が来ている」という文がある場合は、どのように各単語をQTextBlock
に入れ、そのブロックをQTextEdit
に追加するか、またはQTextBlock
が実際にどのように機能するのか誤解していますか?
私はC++とQtの新機能です。QTextBlockはどのように使用しますか?
オブジェクトにQTextBlocks
を埋め込みたいのですが、どうすればよいですか?
「魚が来ている」という文がある場合は、どのように各単語をQTextBlock
に入れ、そのブロックをQTextEdit
に追加するか、またはQTextBlock
が実際にどのように機能するのか誤解していますか?
QTextEdit
はあなたをできるようになる表示されるはずですQString
経由であなたの内容を追加します。
QTextEdit myEdit("the fish are coming");
また、テキストのブロックを保持している、あなたはQTextDocument
を使用することができます。 QTextDocument
自体もQString
を受け入れることができます。
QTextEdit myEdit;
QTextDocument* myDocument = new QTextDocument("the fish are coming", &myEdit);
myEdit.setDocument(myDocument);
しかし、「新しいテキストブロックを作成したり、その内容を検討しながら、文書の内容を変更、が提供するカーソルベースのインターフェイスを使用する必要がある場合代わりにQTextCursor
" (Qt documentation)(注、私はブロックがどこにあるか、それを明示的にするためにQTextBlockFormat
行を追加しました。)
QTextEdit myEdit;
QTextDocument* myDocument = new QTextDocument(&myEdit);
myEdit.setDocument(myDocument);
QTextCursor* myCursor = new QTextCursor(myDocument);
QTextBlockFormat format;
format.setBackground(Qt::red);
myCursor->setBlockFormat(format);
myCursor->insertText("the ");
format.setBackground(Qt::green);
myCursor->insertBlock(format);
myCursor->insertText("fish ");
format.setBackground(Qt::yellow);
myCursor->insertBlock(format);
myCursor->insertText("are ");
format.setBackground(Qt::red);
myCursor->insertBlock(format);
myCursor->insertText("coming!");
format.setBackground(Qt::green);
myCursor->insertBlock(format);
myCursor->insertText(QString(%1 blocks").arg(myDocument->blockCount()));
myEdit.show();
は私に通過するために多くの努力のように思えます。 QTextBlock
を使用する必要があると思われる理由に関する追加情報はありますか?
insertBlockを使用せずにinsertTextを使用して、同じ行に置いてください。例えば
私はあなたのため
cursor.insertText("I will try ", textFormat);
cursor.insertText("this for you.", textFormat);
をしようとしたとき、言葉のすべてが同じライン上に現れました。
insertBlockは段落を挿入します。
複数のQTextBlockでこれを行う方法はありますか?私が理解しているように、これは1つのQTextBlockに複数のフラグメントを作成します。 – ibizaman
私は、他の言語(ギリシャ語)を読むのに役立つプログラムを書いています。それぞれの単語には、文法情報(「動詞、表示、アクティブ、3人称、マウスが各単語に移動します。 – jcuenod
ああ、それはもっと意味があります。私の例の1つの問題は、各ブロックがそれ自身の行として表示されることです。私は 'QTextBlock'sの経験が十分ではないので、同じ行にそれらを取得する方法を知っています。がんばろう! – Bill