Comments 6
// отсоединяемся от сигнала, на время установки элементам флажков
disconnect(standartModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(slotModelItemChanged(QStandardItem*)));
У QObject есть метод blockSignals, придуманный как раз для этого. Удобного создать «умную структуру-глушилку» — в конструкторе блокируем сигналы, в деструкторе разблокируем.
// присоединяемся к сигналу
disconnect(standartModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(slotModelItemChanged(QStandardItem*)));
Тут, наверное, имелось ввиду — connect. Знаю опечатка, но в данном контексте думаю уместно указать.
(void)parent;
(void)start;
(void)end;
Возможно, вопрос стиля, но в Qt для этого есть макрос Q_UNUSED.
У QComboBox есть метод setModel(), думаю стоило написать свою модель и не подписываться на событие rowsInserted, так как в этом случае список выбранных элементов хранился бы на уровне модели, где ему и место.
У QObject есть метод blockSignals, придуманный как раз для этого
Привык отсоединяться только от нужных сигналов, так как иногда бывает нужным ожидать какой-то другой сигнал. Но в данном случае Вы правы, можно глушить всё.
«умную структуру-глушилку» — в конструкторе блокируем сигналы, в деструкторе разблокируем
В лучших традициях RAII…
Тут, наверное, имелось ввиду — connect
Да, спасибо, поправил.
Возможно, вопрос стиля, но в Qt для этого есть макрос Q_UNUSED
Приходится иногда обходится без Qt, чтобы не путатся, стараюсь не использовать Q_*, где это возможно.
думаю стоило написать свою модель и не подписываться на событие rowsInserted
Согласен, своя модель более ближе к архитектуре MVC в Qt.
В библиотеке libqxt есть точно такой:
libqxt.bitbucket.org/doc/0.6/qxtcheckcombobox.html
libqxt.bitbucket.org/doc/0.6/qxtcheckcombobox.html
Не сталкивался с этой библиотекой. Некоторые виджеты (по типу этого) интересные.
Спасибо за статью.
Для «обрезки» текста вроде есть такой метод QFontMetrics::elidedText, если я не ошибаюсь.
Для «обрезки» текста вроде есть такой метод QFontMetrics::elidedText, если я не ошибаюсь.
Sign up to leave a comment.
Множественный выбор в QComboBox