243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
PyQt5

Запрет взаимодействия с отдельными строками таблицы

01.04.2020, 19:16. Показов 2570. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Ситуация - есть таблица QTableView с моделью QSqlTableModel. Задача - реализовать постоянное выделение двух строк, чтобы юзер не смог снять выделение.

Выделение-то я реализовал в лоб:
Python
1
2
self.table.selectRow(0)
self.table.selectRow(1)
А вот с запретом взаимодействия - трудности. Кто сталкивался - подскажите, плз.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.04.2020, 19:16
Ответы с готовыми решениями:

StringList: возможна ли работа не со строками, а с отдельными символами?
При загрузке данных в StringList возможна ли дальнейшая работа не со строками, а с отдельными символами?

Напечатать отдельными строками первое и последнее слово строки
4. Ввести с клавиатуры строку символов. Напечатать отдельными строками первое и последнее слово. Прошу, как можно скорей помочь в...

Написать программу, которая вводит отдельными строками ваш ФИО и название группы
Написать программу, которая вводит отдельными строками ваш ФИО и название группы. С помощью соответствующих команд получите строку с вашим...

10
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
02.04.2020, 15:13
Python
1
2
3
4
5
6
7
8
9
10
11
class View(QTableView):
    def __init__(self):
        super().__init__()
        self.model = QStandardItemModel()
        for row in range(4):
            for col in range(3):
                item = QStandardItem(str(row)+":"+str(col))
                self.model.setItem(row,col,item)
        self.setModel(self.model)
        self.selectRow(1)
        self.setSelectionMode(0)
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
02.04.2020, 16:46  [ТС]
vic5710, спасибо, но не то. Таким способом, как у Вас, устанавливается запрет выделения для всей таблицы, а мне надо именно для этих двух разнесчастных строк. Для QStandardItem, например, можно применить setEnabled(False). Но у меня-то QSqlTableModel.
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
02.04.2020, 17:29
Так может отлавливать selectionChanged для QTableView?
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
02.04.2020, 17:33
del
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
02.04.2020, 17:35  [ТС]
tooru,
Цитата Сообщение от tooru Посмотреть сообщение
Так может отлавливать selectionChanged для QTableView?
типа:
Python
1
2
3
4
5
self.table.selectionChanged.connect(self.foo)
 
def foo(index):
    if index.row() == 1 or index.row() == 2:
        self.table.selectRow(index.row())
Ну это наверное решит проблему постоянного выделения, надо пробовать. А запрет иного взаимодействия? Отлавливать все типы кликов?
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
02.04.2020, 17:51
скорее тут надо свою selectionModel для вьюхи делать
https://srinikom.github.io/pys... ionChanged
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
02.04.2020, 17:51
Цитата Сообщение от Lekks Посмотреть сообщение
А запрет иного взаимодействия? Отлавливать все типы кликов?
Так все не надо, нужно только те, от которых может что-то изменится
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
02.04.2020, 18:17  [ТС]
Цитата Сообщение от Lekks Посмотреть сообщение
selectionChanged
чёт не пойму, как из QItemSelection индекс выделить
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
02.04.2020, 18:20
Цитата Сообщение от Lekks Посмотреть сообщение
как из QItemSelection индекс выделить
Там вроде есть метод indexes() https://doc.qt.io/qt-5/qitemselection.html#indexes
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
02.04.2020, 19:33  [ТС]
Короче, пока плюнул, просто скрыл от юзера))) Потом разберусь.

Не по теме:
Интересно, что быстрее: выборка из 10000 строк из SQLite или та же выборка из DF Pandas?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2020, 19:33
Помогаю со студенческими работами здесь

Заполнение DataTable отдельными элементами с другой таблицы
Всем привет! В общем есть таблица DataTable с информацией. Из этой таблицы с помощью метода Select извлекаются строки, которые содержат...

Заполнить datagridview второй таблицы выделенными строками из первой таблицы
Есть база в аксес, и приложение c#, на форме 2 грида, слева из базы аксеса, справа добавил сам грид, который не привязан ни к какой...

Запрет преобразования в локальные таблицы
Добрый день уважаемые Гуру. Имеется база данных с формами и запросами, а таблицы лежат на сервере MySQL, всё работает через ODBC драйвер....

Запрет изменения ширины таблицы
Доброй ночи!:gsmile: как запретить изменения размеров столбцов таблицы, ну и ширины всей таблицы соответственно?? у таблицы, и...

Триггер: запрет удаления таблицы
Всем привет) Нужно создать тригер, который будет запрещать удаление таблицы(drop) CREATE TABLE shopForAUDIT ( article CHAR...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru