Russian Qt Forum
Августа 27, 2025, 06:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как в таблице сделать последние строку и столбец не ReadOnly  (Прочитано 3133 раз)
Violetta
Гость
« : Ноября 10, 2008, 18:43 »

Здравствуйте, помогите пожалуйста с таблицей, желательно Обеспокоенный, примером кода.
 Есть MyTable : public QTable(....), в ней например, 15 строк и 10 столбцов, последняя строка и последний столбец (ComboBox).
     Нужно сделать так чтобы, все строки и столбцы в таблице были ReadOnly, кроме последних (которые ComboBox).
    Пыталась вставить цикл (oт 0 до Last-1) по строкам и столбцам в которых   setColumnReadOnly( iCol, TRUE ) и setRowReadOnly( iRow, TRUE ),
    а затем написать setColumnReadOnly(LastCol, FALSE) и setRowReadOnly(LastRow, FALSE), не помогло, они не работают совместно
   (одна  заменяет действие другой?!)
Sorry, забыла указать верия Qt3

Спасибо огромное, все получилось Веселый благодаря Вашей подсказке!

« Последнее редактирование: Ноября 17, 2008, 11:02 от Violetta » Записан
spirit
Гость
« Ответ #1 : Ноября 10, 2008, 19:13 »

а какая версия кьюти? если 4.х.х , то в делегате это сделать довольно просто: в методе createEditor делегата проверять текущий номер строки посредством передаваемого QModelIndex и, если, строка не равна последней, возвращаем 0 или создаем QComboBox противном случае.
« Последнее редактирование: Ноября 10, 2008, 19:28 от spirit » Записан
Вячеслав
Гость
« Ответ #2 : Ноября 11, 2008, 09:13 »

Код:
void Q3Table::setRowReadOnly ( int row, bool ro )   [virtual slot]
If ro is true, row row is set to be read-only; otherwise the row is set to be editable.
Whether a cell in this row is editable or read-only depends on the cell's EditType, and this setting.

Трояк однако Подмигивающий
 Ну я бы сюда рыл ... кажись на заре использования qt так и делал
Код:
Q3TableItem * Q3Table::item ( int row, int col ) const   [virtual]
Returns the Q3TableItem representing the contents of the cell at row, col.
If row or col are out of range or no content has been set for this cell, item() returns 0.
If you don't use Q3TableItems you may need to reimplement this function: see the notes on large tables.

void Q3TableItem::setEnabled ( bool b )   [virtual]
If b is true, the table item is enabled; if b is false the table item is disabled.
A disabled item doesn't respond to user interaction.
Но могу ошибаться .....
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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