Как динамически изменять количество столбцов при изменении размера QTableView? - PullRequest
0 голосов
/ 19 февраля 2019

Можно ли изменить количество столбцов в QTableView, когда пользователь динамически изменяет размер QTableView?Например, у меня есть 9 изображений с номерами 1-9, у меня есть QTableView с пользовательским делегатом, который рисует изображение в ячейке таблицы, я хотел бы, чтобы QTableView вел себя так, как показано на следующем рисунке:

Imgur

Каким должно быть мое направление и как его реализовать?

1 Ответ

0 голосов
/ 21 февраля 2019

Вот мой код для решения:

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 построен как обычно:

Imgur

PassNULL вместо параметра QString:

Imgur

...