当用户动态调整QTableView的大小时,是否可以更改QTableView中的列数?例如,我有9张数字为1-9的图像,我有一个带有自定义委托的QTableView,它将图像绘制到表的单元格中,我希望QTableView的行为类似于下图中的方式:
我的方向是什么,应该如何执行?
答案 0 :(得分:0)
这是我的解决方案代码:
QListViewIconModeLtoRFlow::QListViewIconModeLtoRFlow(QWidget *parent): QMainWindow(parent)
{
ui.setupUi(this);
QFrame *frame = new QFrame;
QVBoxLayout *main = new QVBoxLayout(frame);
QListView *list = new QListView;
list->setFlow(QListView::LeftToRight);
list->setResizeMode(QListView::Adjust);
list->setViewMode(QListView::IconMode);
list->setIconSize(QSize(50,50));
QStandardItemModel *model = new QStandardItemModel;
list->setModel(model);
for (int i = 0; i < 50; ++i)
{
QPixmap p("F:\\boro.jpg");
QIcon *icon = new QIcon(p);
QStandardItem *item = new QStandardItem(*icon, NULL); //NULL to hide string appearance
model->appendRow(item);
}
main->addWidget(list);
setCentralWidget(frame);
}
如果照常构造QStandardItem,则图标下方将显示文本:
传递NULL作为QString参数: