0

QGridLayoutいっぱいQTextBrowser'sです。

を使用してそれらにアクセスしているitemAtPosition(i,j)ので、たとえばできます。を使用して背景に変更しますwidget()->setStyleSheet

これらのフィールド内のテキストを変更する方法はありますか?

4

1 に答える 1

1

これを行うには setText() または append() を使用しますが、ポインターを取得する方法はあまり良くありません。元のポインターで操作する必要があります。例えば

QTextBrowser txt;
grid.addWidget(&txt,...);
//...
txt.append("example");//we just use object, we don't get this object from layout

QTextBrowser は QWidget を継承しているため、setStyleSheet() も使用できます。

現在のアプローチについて: もちろん、qobject_cast を使用してポインターを必要な型にキャストできますが、より簡単なアプローチを使用してみてください。

(qobject_cast<QTextBrowser*>(grid.itemAtPosition(0,0)->widget()))->append("example");//is it so beautiful?
于 2014-12-14T13:59:12.657 に答える