问题描述
我希望基本上复制这个:
I'm looking to essentially replicate this:
最适合显示包含图像+下标的自定义小部件的 Qt 容器小部件是什么?我正在查看 QTableView
并且它似乎应该有一定数量的行/列,而我希望我的程序根据窗口宽度更改布局(这样就没有水平滚动),添加新的小部件应该使用 addWidget(QWidget * w)
,而不是 setWidget(int row, int column, QWidget * w)
.是否有比 QTableView 更好的组件(它需要为我的任务编写大量代码)?
What is the most appropriate Qt container widget for displaying my custom widgets containing image+subscript? I'm looking at QTableView
and it seems to be supposed to have a set number of rows/columns, while I would like my program to change layout depending on window width (so that there is no horizontal scroll), and adding new widget should be done with addWidget(QWidget * w)
, not setWidget(int row, int column, QWidget * w)
. Is there a better component for this than QTableView (which requires much coding for my task)?
推荐答案
您应该使用 QListWidget
(或 QListView
和子类 QAbstractItemModel
)和将其查看模式设置为IconMode
.
You should use QListWidget
(or QListView
and subclass QAbstractItemModel
) and set it's view mode to IconMode
.
示例:
m_listeWidget->setViewMode(QListWidget::IconMode);
m_listeWidget->setIconSize(QSize(200,200));
m_listeWidget->setResizeMode(QListWidget::Adjust);
m_listeWidget->addItem(new QListWidgetItem(QIcon("../earth.jpg"),"Earth"));
m_listeWidget->addItem(new QListWidgetItem(QIcon("../tornado.jpg"),"Tornado"));
m_listeWidget->addItem(new QListWidgetItem(QIcon("../ics.jpg"),"Wallpaper"));
结果:
这篇关于哪个 Qt 小部件用于实现图像缩略图浏览器(显示图块)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!