Russian Qt Forum
Ноябрь 24, 2024, 16:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget, QTextTable, QAbstractTableModel+QTableView  (Прочитано 3990 раз)
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

Буду благодарен за мнения.
Записан
trot
Гость
« Ответ #1 : Май 12, 2011, 17:24 »

Третий подход и переопределять метод paint у QTableView
Записан
george
Гость
« Ответ #2 : Май 13, 2011, 13:02 »

Третий подход и переопределять метод paint у QTableView

а как насчет написать свой делегат , и переопределить createEditor ?
Записан
trot
Гость
« Ответ #3 : Май 13, 2011, 17:58 »

Цитировать
а как насчет написать свой делегат , и переопределить createEditor ?
Это очевидно
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #4 : Май 13, 2011, 18:12 »

А ещё можно использовать виджет с лейаутом
Код
C++ (Qt)
void QTableWidget::setCellWidget ( int row, int column, QWidget * widget )
на котором лепить такого горбатого.
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.066 секунд. Запросов: 23.