在诺基亚 Qt 应用程序中自定义列表视图项目
我正在 Symbian^3 平台上使用诺基亚 Qt4.7 编写一个简单的文件浏览器应用程序。我可以使用 QFileSystemModel 在列表视图小部件中显示目录/文件列表。但我想自定义列表视图项。我正在使用 QItemDelegate 来实现覆盖 sizHint 和 Paint 函数的技巧。我想在每个项目的末尾(ListMode)或图标的右下角(IconMode)显示一个复选框。我该怎么做呢? 谢谢。
I am writing a simple file browser app with Nokia Qt4.7 on Symbian^3 platform. I can display the directory/file list in the listview widget using QFileSystemModel. But I want to customize the list view item. And I am using QItemDelegate to do the trick overriding sizHint and paint functions. I want to display a checkbox in the end of every item (ListMode) or in the right down corder of the icon(IconMode). How can I do it?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议您重新实现 QItemDelegate::paint 函数并使用 QStylePainter并使用 QStylePainter::drawControl 渲染复选框元素。根据模式的不同,您可以改变您的绘画。
I'd suggest you to reimplement QItemDelegate::paint function and use QStylePainter and use QStylePainter::drawControl to render checkbox element. Depending on the mode you can vary your painting.
您还可以使用 QML 来完成此操作。在 QML 中设置行样式要容易得多。
更具体地说,您的模型仍然是 c++ 。只有列表可以位于 QML 中。
You can also do this using QML . Styling rows is much easier in QML.
To be more specific your Model will still be c++ . Only the list can be in QML.