Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
9 / 9 / 3
Регистрация: 22.01.2010
Сообщений: 141

два взаимосвязанных spinbox

10.07.2013, 16:34. Показов 1816. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте .Столкнулся со следующей проблемой. На форме есть два spinbox один - ширина изображения в пикселях, второй - высота. При изменении ширины высота должна изменяться сохраняя пропорции изображения и наоборот при изменении высоты должна меняться ширина. Вешаю это на событие ValueChanged и получаю что при изменении значения в одном spinbox вызывается событие изменяющее значение в другом. Но работает это только когда я уменьшаю значения, при увеличении значения при помощи мышки ничего не меняется.


C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
void MainWindow::on_spinBoxWidth_valueChanged(int w)
{
    ui->spinBoxHeight->setValue((ImageNew.height()*w)/ImageNew.width());
 
}
 
void MainWindow::on_spinBoxHeight_valueChanged(int h)
{
    ui->spinBoxWidth->setValue((ImageNew.width()*h)/ImageNew.height());
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.07.2013, 16:34
Ответы с готовыми решениями:

Два взаимосвязанных ListBox'a
Доброго времени суток! Помогите, пожалуйста, по такому вопросу: есть ListBox1 и ListBox2. При нажатии на элемент ListBox1 должен...

Два взаимосвязанных SELECTa на VBScript
Нашел тут хороший пример от Zombie по взаимосвязанной работе 2-х select_ov, не поделится ли кто аналогичным тока на VBScript ? Пример хочу...

Спарсить два взаимосвязанных файла
Всем привет ! :) У меня есть 2 файла, вот к примеру: 1 файл <Object Angles="0,-0,-179.99998" dir="90"...

1
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
10.07.2013, 17:39
попробуйте так:
1) создайте один обработчик и повесьте изменение обеих спинбоксов на этот обработчик, пусть его будут звать
C++ (Qt)
1
onSpinboxValueChanged(int value);
ну и реализация у него будет аля:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void onSpinboxValueChanged(int value) {
   int valueForOther = 0;
   QSpinBox * otherBox = NULL;
   if (sender()->objectName() == ui->spinBoxHeight->objectName()) {
       otherBox = ui->spinBoxWidth;
       valueForOther = ImageNew.height()*value)/ImageNew.width();
   } else {
       otherBox  = ui->spinBoxHeight;
       valueForOther = ImageNew.width()*value)/ImageNew.height();
   }
   if (NULL != otherBox) {
       if (otherBox->value() != valueForOther) {
           otherBox->setValue(valueForOther);
       }
   }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.07.2013, 17:39
Помогаю со студенческими работами здесь

Два взаимосвязанных поля input
Здравствуйте прошу помочь... не могу понять как создать два взаимосвязанных поля input например в первый input1 вводится значение 10 а...

создание spinbox
Как во flash создать спинбокс? Спинбокс - текстовое поле с двумя кнопками вниз и вверх, при нажатии вверх значение текстового поля...

Qml spinbox
как заменить начальное значение в спинбокс "0" на "00" и чтоб при нажатии, значение увеличивалось в таком порядке - 00, 01, 02, 03......и...

Не считываются значения из SpinBox
Здравствуйте. Изучаю сейчас QML, и возникла странная проблема.Создал небольшую программу для динамического добавления каких-то компонентов...

SpinBox задающий значение переменной
Как сделать так, чтобы spinBox отображал значение переменной E(int E - напряженность поля), а не таймер как в данной случае: void...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru