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