Название: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: freestyler от Сентябрь 13, 2011, 11:38 Всем привет! И спасибо заранее!
1 вопрос. Есть два поля SpinBox1 и SpinBox2, есть кнопка Button. Нужно чтобы когда фокус на SpinBox1 и при нажатии на кнопку Button в SpinBox1 записывалось число 5. А если фокус на SpinBox2, то 5 записываем туда. Как это сделать? (под фокусом я имею ввиду - нажали tab и выделился SpinBox1, нажали ещё - выделился SpinBox2) 2 вопрос. Есть ещё два поля - SpinBox3 и SpinBox4, есть кнопка Button2. Нужно чтобы при нажатии на кнопку её действие чередовалось. Как именно - Нажали первый раз-записали в SpinBox3 число 5, нажали второй раз - записали число 5 в SpinBox4. Как это сделать? (Затем взяли и написали в SpinBox3 и SpinBox4 число 2, а затем нажали кнопку Button2 и у нас снова в SpinBox3 записалась цифра 5, нажали ещё - записалась цифра пять в SpinBox4...) (http://s11.radikal.ru/i184/1109/38/4a9221da3a0a.png) Название: Re: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: cya-st от Сентябрь 13, 2011, 15:05 Есть очень много шагов это реализовать. Почитайте основы программирования.
Название: Re: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: Alf от Сентябрь 13, 2011, 15:28 по вопросу 2.
Нужно хранить в некой переменной spinID идентификатор SpinBox-а. В обработчике клика Button2: 1) менять значение SpinBox-а в зависимости от значения переменной spinID; 2) вызывать итератор переменной spinID. Название: Re: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: Alf от Сентябрь 13, 2011, 16:14 по вопросу 1.
Есть функция Код Можно вызывать её для spinBox-ов в обработчике клика Button1 и в засисимости от результата выводить значение в тот или иной SpinBox. Название: Re: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: freestyler от Сентябрь 13, 2011, 17:52 void MainWindow::on_Button_clicked()
{ if (ui->Spinbox1->hasFocus()) ui->label->setText("111"); else ui->label_8->setText("222"); Всегда выдает "222". Что неверно? Название: Re: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: lit-uriy от Сентябрь 13, 2011, 17:58 >>Всегда выдает "222". Что неверно?
всё верно. Фокус же на кнопке, на которую ты щёлкал Название: Re: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: freestyler от Сентябрь 13, 2011, 18:12 Фокус же на кнопке, на которую ты щёлкал ;D А как сделать чтобы определялся фокус не на кнопке, как видимо написал я :D , а на SpinBox?Название: Re: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: GreatSnake от Сентябрь 14, 2011, 09:39 В таком случае кнопка вообще никогда не должна иметь фокуса:
Код
Название: Re: Создать действие для кнопки. Записывать число 5 то в ту ечейку, которая в фокусе Отправлено: freestyler от Сентябрь 14, 2011, 11:26 Всем огромное спасибо! Всё получилось! :)
|