Ktorrent-подобные виджеты в QTableView / QTableWidget - PullRequest
0 голосов
/ 13 марта 2012

Есть ли документация о том, как поместить пользовательский контейнер QWidget (с другими вещами, такими как макет, флажки, кнопки и т. Д.) В виде строки в QTableView / QTableWidget, как показано на рисунке?

Я просматриваю исходный код ktorrent, чтобы увидеть, как это делается.

Любая помощь будет высоко ценится.

Ktorrent configuration widget as a QTableView row

1 Ответ

1 голос
/ 13 марта 2012

Для QTableWiget используйте

void QTableWidget::setCellWidget (int row, int column, QWidget  *widget)

В вашем случае:

class MyWidget : public QWidget {
  // a composite widget with layouts and other stuff
};
setCellWidget(0, 0, new MyWidget);

В случае QTableView вам необходимоопределите свой пользовательский делегат и установите его (например) для определенного столбца с помощью:

void QAbstractItemView::setItemDelegateForColumn (int column, QAbstractItemDelegate * delegate)

Проверьте это для примера QProgressBar внутри таблицы

...