QT为什么没有看到由代表绘制的customwidget?

时间:2011-11-03 07:41:55

标签: c++ qt

我有一个模型/视图架构。 我正在开发一个通用的多用途委托,我想要使用我的一些自定义小部件。 我测试的第一个不起作用:

void A_delegates::paint(QPainter* painter, const QStyleOptionViewItem & option,
 const QModelIndex& index) const
QRect the_rect(option.rect);    
A_file_chooser file_chooser;
file_chooser.setGeometry(QRect(QPoint(0,0), the_rect.size()));
file_chooser.render(painter,the_rect.topLeft());

我看到一个空单元格? 我已经阅读了文档,搜索了一些有用的内容,但没有成功。 有谁能够帮我 ?感谢。

(文件选择器就像标签和按钮一样简单。我可以在其他场景中看到它)

1 个答案:

答案 0 :(得分:0)

您正在尝试将适合的文件选择器添加到单元格并强制它渲染到您的小部件中。但文件选择器不是任何东西的子,尚未初始化,所以它将跳过渲染。在代表的paint函数中,您必须使用给定的画家来绘制某些东西。你想要单元格中的静态按钮图像吗?它无法点击!您需要在单元格中添加真正的文件选择器,并将其作为子项添加以使其正常工作。