Маркер в таблице..., Построчно выделять... |
Здравствуйте, гость ( Вход | Регистрация )
Маркер в таблице..., Построчно выделять... |
fortero |
18.4.2011, 13:51
Сообщение
#1
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день Господа!
Есть вот такой незамысловатый код:
Это простая табличка, из 2 колонок и 2 строк, сортировка работает… Вод только осталось решить 2 проблемы я не селён в QT, я только начинаю. Подскажите пожалуйста как сделать что бы когда я 1 раз кликаю на строку марке не ячейку подсвечивал а всю строку и второе разумеется не пробовал редактировать. То есть мне нужна табличка которая не будет редактироваться, а маркер подсвечивать будет всю строку, как это сделать??? Спасибо за внимание! |
|
|
fortero |
18.4.2011, 14:37
Сообщение
#2
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
С первой проблемой я догадываюсь как решить нашёл я слот selectRow(int row), то есть зная на какой строке стоит маркер можно при помощи connect передать номер строки, тогда как связать эти действия? То есть как послать нужный сигнал???
|
|
|
fortero |
18.4.2011, 15:07
Сообщение
#3
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Помоему я нашёл решение, скажите насколько это правильно но чёрт возми оно работает:
Как же быть со вторым вопросом? Запрет редактирования??? |
|
|
wiz29 |
18.4.2011, 15:14
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
... тогда как связать эти действия? То есть как послать нужный сигнал??? Не совсем понятно о чем идет речь. Помоему я нашёл решение, скажите насколько это правильно но чёрт возми оно работает:
Абсолютно нормальное решение. Запрет редактирования???
|
|
|
fortero |
18.4.2011, 16:09
Сообщение
#5
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
[quota]
[/quote] А я вот ещё нашёл, подайдёт?
|
|
|
wiz29 |
18.4.2011, 16:37
Сообщение
#6
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
да подойдет, если нужен запрет на редактирование всего представления таблицы.
|
|
|
silver47 |
18.4.2011, 17:42
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
а маркер подсвечивать будет всю строку, как это сделать??? Помоему я нашёл решение, скажите насколько это правильно но чёрт возми оно работает: Мне кажется так лучше: QTableWidget::setSelectionBehavior(QAbstractItemView::SelectRows); Сообщение отредактировал silver47 - 18.4.2011, 17:45 |
|
|
fortero |
18.4.2011, 17:44
Сообщение
#8
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Новый вопрос, теперь решил я передовать сигнал в слот другого класса, вот таким способом:
Но не чего не происходит, а когда я пробовал так:
То всё работало передовался номер строки и колонки, а как же передать содиржимое ячейки? |
|
|
ruzik |
18.4.2011, 17:48
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //Выделить всю строку
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //Запрет редактирования |
|
|
silver47 |
18.4.2011, 18:10
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
То всё работало передовался номер строки и колонки, а как же передать содиржимое ячейки? Ну логично предположить, что, если вы ячейку не редактируете, а просто выделяете, то нужно бы создать свой сигнал, который будет испускаться при выделении ячейки, и который будет передавать ее содержимое. Если точно не знаете, что будет в ячейке, то рекомендую в сигнале передавать тип QVariant Для этого свяжем сигнал выделения ячейки с неким слотом:
Сообщение отредактировал silver47 - 18.4.2011, 18:23 |
|
|
Текстовая версия | Сейчас: 29.3.2024, 19:01 |