Как и всё в QT, установвка флагов для ячеек таблицы рабоатет очень своеобразно.

Что я имею в виду?

Допустим у нас есть ячейка ui.Table1s1.item(n,1) и мы хотим сделать её доступной только для чтения.

Как я вчера решил эту проблему? Я, почитав документацию, и не нашев метода типа Qt.ItemIsDisabled начал эксперементировать подставляя разные флаги в метод setFlags, у меня получилось добавить нужного эффекта, если выставить

ui.Table1s1.item(n,1).setFlags(Qt.ItemIsEditable)



Яччейка перестала быть доступной для редактирования, однако текст в ней стал серого цвета. Пришлось его покрасить в чёрный, и мне этого было достаточно)

Однако, выяснилось, что нужно было делать так:

ui.Table1s1.item(n,1).setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)



Почему так? А потому что метод setFlags выставляет флаги которые включены, а не переставляет старые, т.е. те флаги что я в setFlags не включил - считаются выключенными. Так вот.

После часов проводимых за чтением доков по Пикуте на английсокм, начал выдавать фразы типа
у меня получилось добавить нужного эффекта, если выставить
Медленно, но верно схожу с ума...

URL записи