Название: Где писать обработчики событий (в Qt Creator) Отправлено: catprog от Май 10, 2009, 18:30 Где написать мой код который должен выполнится например при нажатии на конкретную кнопку?
Почитал про сигналы, наверно их можно для этого использовать, но кажется они сделаны для другого. В Qt Creator есть вкладка "Action editor", не пойму как она работает. Добавляю некое событие а место для кода события нигде не появляется. Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: MAGrikh от Май 10, 2009, 18:46 Посмотри примеры в которых НЕТ форм созданных в Creator - сразу разберешься что к чему
как пример - у меня в mainwindow.cpp Код: void MainWindow::createActions() Ну и не забудь все это в mainwindow.h прописать Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: catprog от Май 10, 2009, 19:09 Посмотри примеры в которых НЕТ форм созданных в Creator - сразу разберешься что к чему 1) Где их брать такие примеры ???как пример - у меня в mainwindow.cpp В mainwindow.cpp у меня нет createActions().Код: void MainWindow::createActions() Класс QAction это стандартный или Ваш? connect(LoginAct, SIGNAL(triggered()), this, SLOT(LoginAccount())); - это ведь привязка сигнала к слоту или без сигналов нельзя обойтись при обработке событий? Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: Dodge от Май 10, 2009, 19:24 1) Где их брать такие примеры ??? QTDIR/examplesВообще, прежде чем браться за работу, рекомендую ознакомиться с документацией :) Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: Dodge от Май 10, 2009, 19:27 Кстати, в Qt есть небольшой "навигатор" по примерам, называется qtdemo. Находится эта программа в QTDIR/bin/qtdemo
Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: catprog от Май 10, 2009, 19:39 Кстати, в Qt есть небольшой "навигатор" по примерам, называется qtdemo. Находится эта программа в QTDIR/bin/qtdemo Не знаю почему но он у меня вот так выглядит:Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: Dodge от Май 10, 2009, 20:24 Странно.
установлены ли драйвера для видеокарточки? Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: catprog от Май 10, 2009, 20:57 Странно. Угу, странная у меня карта и дрова к ней, может под вистой она и нормально работает но с ХР туго.установлены ли драйвера для видеокарточки? Вернемся к нашим кодам. Для теста событий(сигналов) пытаюсь написать простую форму вручную. Хочу чтобы было на форме кнопка и текст поле, жмем на кнопку в текстовое поле пишется "хелло". Вот что я в примерах накопал и накрутил: Код: myButton = new QPushButton; О, допер, вот так писать надо Код: myButton = new QPushButton; Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: Авварон от Май 10, 2009, 21:53 есть сигналы/слоты, есть события (QEvent). Грубо говоря сигналы/слоты используются, когда событие происходит редко - пользователь нажал кнопку, выделил фокус в строке ввода. События - когда часто - пользователь подвинул мышку, нажал кнопку на клаве. Такие вещи ловятся либо при помощи наследования и перегрузки вируальных функций (void keyPressEvent(QKeyEvent * e);) либо установкой обработчика событий на экземпляр класса. Всё это описано в книжке того же Шлее.
Как и твой вопрос про 2 формы - если у виджета не установлен родительский виджет, то он создается в отдельной форме, иначе - на родителе. Побочным эффектом setMainWidget() как раз является установка родителя. а да, видел такой баг у друга в висте... причем сам не видел ни на ХР (3 системы), ни на 2008 сервере Название: Re: Где писать обработчики событий (в Qt Creator) Отправлено: lit-uriy от Май 10, 2009, 22:12 Лучше всё таки не примеры на этом этапе изучать, а учебное пособие, от версии Q4.4.3 и ниже, т.к. его зачем-то прибили в версии 4.5.
Тем более, что оно частично переведено на русский (тык (http://doc.crossplatform.ru/qt/4.4.3/tutorials-tutorial.html)). |