Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: george от Май 12, 2011, 15:10



Название: QTableWidget, QTextTable, QAbstractTableModel+QTableView
Отправлено: george от Май 12, 2011, 15:10
в ячейке таблицы есть центрированных 4 комбобокса, (например):
|..........cb1,cb2,cb3...........|
|................cb4.................|
после фиксирования их выбора, они заменяются текстом выбора.
После этого в ТУ ЖЕ ячейку таблицы нужно добавить ещё одну запись, тоесть уже существующий текст должен быть соответственно смещен влево, а справа появятся новые 4 комбобокса, после фиксирования их выбора они заменятся на текст (важно соответственно сместить и выровнять текст в ячейке): пример
|...t1,t2,t3.....cb1,cb2,cb3...|
|.......t4.............cb4..........|
данные выбора из комбобокса будут передаватся в базу SQL.

Вопрос в том, какой подход лучше использовать для таблицы с такими ячейками?
1. QTableWidget ( и писать item-ы ячеек с комбобоксами и текстом)
2. QTextTable
3. QAbstractTableModel+QTableView

Буду благодарен за мнения.


Название: Re: QTableWidget, QTextTable, QAbstractTableModel+QTableView
Отправлено: trot от Май 12, 2011, 17:24
Третий подход и переопределять метод paint у QTableView


Название: Re: QTableWidget, QTextTable, QAbstractTableModel+QTableView
Отправлено: george от Май 13, 2011, 13:02
Третий подход и переопределять метод paint у QTableView

а как насчет написать свой делегат , и переопределить createEditor ?


Название: Re: QTableWidget, QTextTable, QAbstractTableModel+QTableView
Отправлено: trot от Май 13, 2011, 17:58
Цитировать
а как насчет написать свой делегат , и переопределить createEditor ?
Это очевидно


Название: Re: QTableWidget, QTextTable, QAbstractTableModel+QTableView
Отправлено: GreatSnake от Май 13, 2011, 18:12
А ещё можно использовать виджет с лейаутом
Код
C++ (Qt)
void QTableWidget::setCellWidget ( int row, int column, QWidget * widget )
на котором лепить такого горбатого.