Qt - 在GridLayout中更改QTextBrowser的文本

时间:2014-12-14 13:53:31

标签: c++ qt qtextedit qtwidgets

我的QGridLayout填充了QTextBrowser's

我正在使用itemAtPosition(i,j)访问它们,所以我可以例如。使用widget()->setStyleSheet更改为背景。

有没有办法在这些字段中更改文字

1 个答案:

答案 0 :(得分: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?