Название: Помогите нубу) Отправлено: tw333k от Февраль 26, 2010, 18:41 Вообщем начинаю изучение QT (ПОД VS 2008). Начал написание с простой программки, и столкнулся с такой проблемой.
idabz.h Код: #ifndef IDABZ_H idbaz.cpp Код: #include <QtGui> main Код: #include <QtGui/QApplication> Выдаёт ошибку 1>moc_idabz.obj : error LNK2019: ссылка на неразрешенный внешний символ "private: void __thiscall IDABZ::on_pushButton_2_clicked(void)" (?on_pushButton_2_clicked@IDABZ@@AAEXXZ) в функции "public: virtual int __thiscall IDABZ::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@IDABZ@@UAEHW4Call@QMetaObject@@HPAPAX@Z) 1>moc_idabz.obj : error LNK2019: ссылка на неразрешенный внешний символ "private: void __thiscall IDABZ::on_quitbutton_clicked(void)" (?on_quitbutton_clicked@IDABZ@@AAEXXZ) в функции "public: virtual int __thiscall IDABZ::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@IDABZ@@UAEHW4Call@QMetaObject@@HPAPAX@Z) Вот. Прошу консультации . В книжках в основном кнопки создают не через QT Designer. Если можно посоветуете с чего учиться ) З.Ы заранее спасибо всем откликнувшимся Название: Re: Помогите нубу) Отправлено: tw333k от Февраль 26, 2010, 19:11 Ошибка пропадает, если из indbz.h удаляю строки отвечающие за кнопки. Но при этом кнопка при нажатие ничего не делает.
Название: Re: Помогите нубу) Отправлено: Amigo_sa от Февраль 26, 2010, 19:14 необходимо написать реализацию слотов в idabz.cpp
Код: void IDABZ::on_quitbutton_clicked() Название: Re: Помогите нубу) Отправлено: tw333k от Февраль 26, 2010, 19:19 а не подскажите а что допустим надо написать для реализации выхода из программы. И вообще где можно посмотреть стандартные реализации?
Название: Re: Помогите нубу) Отправлено: Amigo_sa от Февраль 26, 2010, 19:40 Для выхода из приложения нужно написать
Цитировать QCoreApplication::exit (); А вообще нужно читать кутешный Assistant - образец документации ;)Название: Re: Помогите нубу) Отправлено: tw333k от Февраль 26, 2010, 19:43 спасибо) просто в английском не очень силён=/
Название: Re: Помогите нубу) Отправлено: Пантер от Февраль 26, 2010, 19:44 Привыкнешь. :)
Название: Re: Помогите нубу) Отправлено: SABROG от Февраль 27, 2010, 01:31 Для выхода из приложения нужно написать Цитировать QCoreApplication::exit (); А вообще нужно читать кутешный Assistant - образец документации ;)Надо быть повнимательней с методами quit() и exit(), они возвращают управление после их вызова и ждут возвращения в главный цикл. quit() вызывает exit(). Если про эту особенность написано в документации к методу exit(), то насчет quit() она лукаво умалчивает, говоря всего-лишь, что quit() и exit(0) эквивалентны. Код
С этим кодом программа не завершится никогда. И даже с этим: Код
Только такое спасет отца русской демократии: Код
Выглядит глупо, конечно, с точки зрения логики. Методам скорее бы подошло название exitLater(), quitLater(). Название: Re: Помогите нубу) Отправлено: panAlexey от Февраль 27, 2010, 15:28 спасибо) просто в английском не очень силён=/ в таких случаях люди вспоминают о книжных магазинах. |