我有一个带有自定义ListviewDelegate :: paint的QListView,实现了对项目的自定义绘制。

我想知道是否可能创建一个定义矩形的qml文件并将其用于绘制每个项目?与使用QPainter相比,这将使我在创建列表视图中的外观时有更多的自由。

最佳答案

看起来可能。使用以下代码,您可以将QML元素加载为QDeclarativeView。它是从QWidget派生的,因此您可以从deletegate绘制该窗口小部件。

 QDeclarativeView *qmlView = new QDeclarativeView;
 qmlView->setSource(QUrl::fromLocalFile("myqml.qml"));

10-08 11:24