Название: Сигнал нажатия клавиши Отправлено: jatsuk от Сентябрь 11, 2011, 11:43 Добрый день
Нужно чтобы при входе в программу сразу нажималась кнопка m_ui->activon (это обычный pushbutton) Я так понял,что нужно испусть такой сигнал... Единственное, что я нашел - это то что испускаются сигналы с помощью emit Думал будет что то типа.... emit m_ui->activon->clicked(); Нифига не работает :( Плз не судите строго и не кидайте ссылку на эту статью с сигналами и слотами...я уже её читал и не раз Название: Re: Сигнал нажатия клавиши Отправлено: acidburst от Сентябрь 11, 2011, 11:52 ui->pushButton->click()
может быть так? Название: Re: Сигнал нажатия клавиши Отправлено: jatsuk от Сентябрь 11, 2011, 12:00 Спасибо вот так работает
m_ui->activon->click(); Название: Re: Сигнал нажатия клавиши Отправлено: kambala от Сентябрь 11, 2011, 12:19 а не проще напрямую вызвать слот, привязанный к этой кнопке?
Название: Re: Сигнал нажатия клавиши Отправлено: jatsuk от Сентябрь 11, 2011, 12:42 а не проще напрямую вызвать слот, привязанный к этой кнопке? Если не трудно, то подскажите как ? Название: Re: Сигнал нажатия клавиши Отправлено: kambala от Сентябрь 11, 2011, 12:54 у тебя где-то должна присутствовать такая строчка:
Код вот вызов m_ui->activon->click(); заменить на myslot(); конечно, если на кнопку повешено более одного слота, то лучше вызвать m_ui->activon->click(); Название: Re: Сигнал нажатия клавиши Отправлено: jatsuk от Сентябрь 11, 2011, 15:12 спс, попробую
Получилась такая ерунда... Есть два поля и их сверяем Есть LineEdit, туда сначала с реестра добавляются данные через Qsetting сделано.... Код: QString pcod= setting.value("/Settings/cod","").toString(); Код: m_ui->activon->click(); Так проблема в том, что когда уже нажалась кнопка - данные в LineEdit ещё не появились (QMessageBox ошибка данные не совпадают) Но когда закрываю QMessageBox, то вижу,что данные уже есть, и при повторном нажатии клавиши (Уже руками, то всё совпадает ) Вопрос ??? в чем причина ? может есть что то типа задержки и поэтому такая ерунда Название: Re: Сигнал нажатия клавиши Отправлено: kambala от Сентябрь 11, 2011, 15:32 Код
Название: Re: Сигнал нажатия клавиши Отправлено: LisandreL от Сентябрь 11, 2011, 18:43 // а вот если в следующей строчке вызывать слот, соединенный с кнопкой, то эта строка не понадобится И где по вашему мы в цикл обработки событий попадём, вызывая слот как функцию?Название: Re: Сигнал нажатия клавиши Отправлено: kambala от Сентябрь 11, 2011, 20:25 мне почему-то так всегда казалось :) (да, не слишком убедительный ответ)
хотя вот следующий проект не имеет никакой "задержки": Код
Название: Re: Сигнал нажатия клавиши Отправлено: jatsuk от Сентябрь 12, 2011, 13:47 Нашел причину всех зависаний... в первой LineEdit вычислялся ассемблер код, результат которого к тому времени еще не успел записаться в LineEdit.
Теперь ошибку не выдает. Но новая проблема форма от этого псевдонажатия не закрывается !!! Кнопка срабатывает, условия тоже, заходит в условие и проходит строчку... Dialog::close(); Если после этого нажать снова кнопку вручную, то всё нормально ! форма закрывается Нифига не пойму мистика Код: if (passw==uppassstr) { //Сравнивает 2 строки (Все отлично теперь, в условие заходит) Название: Re: Сигнал нажатия клавиши Отправлено: jatsuk от Сентябрь 12, 2011, 14:20 Я тут поразмыслил...
Может Форма не может закрыться, потому что ещё программа то не загрузилась а, она сразу закрывается... Ну или что то типо этого. |