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 回答