Название: Динамически добавить таблицу в форму. Как? Отправлено: smartchecker от Март 31, 2010, 14:14 Допустим есть на форме QSpinBox, который может прирастать по 2.
Шаг ему можно задать в св-вах, а как сделать так чтобы руками нечётное число было не воткнуть? И как этот spinbox зацепить за таблицу QTableWidget? Нужно, при изменении значения в spinbox'е делать таблицу размера spinbox x spinbox, но, если размер будет слишком большим, то таблицу делать со скроллбарами. Как? Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: alexman от Март 31, 2010, 14:37 как сделать так чтобы руками нечётное число было не воткнуть? Можно отловить сигнал void QSpinBox::valueChanged ( int i )/void QSpinBox::valueChanged ( const QString & text ), и если значение нечетное, то сбрасывать на предыдущее значение.И как этот spinbox зацепить за таблицу QTableWidget? Опять же отлавливать сигнал!Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: SimpleSunny от Март 31, 2010, 14:41 Можно унаследоваться от QSpinBox и задать validator, чтобы последний символ != 1,3,5,7,9.
Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: alexman от Март 31, 2010, 14:43 Можно унаследоваться от QSpinBox и задать validator, чтобы последний символ != 1,3,5,7,9. А как вводить '32'?Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: SimpleSunny от Март 31, 2010, 15:03 Я почему-то думал, что validator будет вызываться по окончанию ввода, т.е. потери фокуса, а это оказывается не так.
Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: smartchecker от Март 31, 2010, 15:35 Сделал такую конструкцию, но он не позволяет воводить, например, 92.
Максимальное значение в spinbox - 100 Код: int i = ui.spinBox->value(); Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: smartchecker от Март 31, 2010, 16:01 Как в таблице сделать чтобы ячейки были по ширине содержимого?
Или как установить ширину для всех ячеек сразу? Нашёл только setColumnWidth(), но там нужно эту операцию для каждого столбца повторять. Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: alexman от Март 31, 2010, 16:01 Сделал такую конструкцию, но он не позволяет воводить, например, 92. Блокируй сигналы перед ui.spinBox->setValue(++i), потом разблокируй!Максимальное значение в spinbox - 100 Код: int i = ui.spinBox->value(); Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: smartchecker от Март 31, 2010, 17:23 Блокируй сигналы перед ui.spinBox->setValue(++i), потом разблокируй! В каком месте? В слоте, который реагирует на valueChanged()?Или где? Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: Пантер от Март 31, 2010, 17:30 Перед ui.spinBox->setValue(++i); блокируй, после разблокируй.
Название: Re: Динамически добавить таблицу в форму. Как? Отправлено: alexman от Март 31, 2010, 17:34 Блокируй сигналы перед ui.spinBox->setValue(++i), потом разблокируй! В каком месте? В слоте, который реагирует на valueChanged()?Или где? Код: ui.spinBox->blockSignals( true ); |