Название: Изменение QComboBox в QTableWidget Отправлено: YvenTitan от Октябрь 18, 2016, 10:01 Здравствуйте
У меня есть таблица, в ней один столбец состоит из QComboBox. Необходимо сделать, чтобы по изменению значения элемента в одном QComboBox менялось значение в ячейке, которая находится в той же строке, что и этот QComboBox. Можете подсказать как это сделать? Если connect(comboBox,SIGNAL(currentIndexChanged(int),SLOT(...))); то непонятно, как определить, как можно определить строку, в котором находится данный QComboBox http://www.linux.org.ru/forum/development/2274864 - здесь решена данная проблема, но может можно как-то по проще? Название: Re: Изменение QComboBox в QTableWidget Отправлено: Racheengel от Октябрь 18, 2016, 10:27 там не решение, а херня. (c)
делегатами надо. Название: Re: Изменение QComboBox в QTableWidget Отправлено: YvenTitan от Октябрь 18, 2016, 10:32 Если с делегатами, то у меня возникает следующий вопрос: как сделать, чтобы QComboBox отображался сразу в таблице (а не только при начале редактирования)?
Название: Re: Изменение QComboBox в QTableWidget Отправлено: GreatSnake от Октябрь 18, 2016, 11:23 делегатами надо. зачем ???Ведь есть сигнал Код
Upd. В очередной раз поспешил, ведь при изменении значения комбо-бокса данные в модели меняются не сразу. Да, в этом случае только через делегат. как сделать, чтобы QComboBox отображался сразу в таблице (а не только при начале редактирования)? Никак. Qt-ишный MVC для этого не предназначен.Коли требуется такое поведение, добавляй комбо-боксы через Код Но в этом случае сам должен будешь в модель применять изменения. Название: Re: Изменение QComboBox в QTableWidget Отправлено: Авварон от Октябрь 18, 2016, 12:33 Ну тамщем-то его можно через делегат нарисовать.
Название: Re: Изменение QComboBox в QTableWidget Отправлено: GreatSnake от Октябрь 18, 2016, 12:39 Ну тамщем-то его можно через делегат нарисовать. Нарисовать-то можно, только вот организовать с ним интерактив будет очень геморно.Название: Re: Изменение QComboBox в QTableWidget Отправлено: Racheengel от Октябрь 18, 2016, 14:15 Если с делегатами, то у меня возникает следующий вопрос: как сделать, чтобы QComboBox отображался сразу в таблице (а не только при начале редактирования)? Отрисовать ячейку в стиле комбобокса. Например, через QStylePainter |