Название: Как грамотно писать программы на QT??? Отправлено: atarax от Ноябрь 24, 2010, 20:04 Здравствуйте я новичок QT и в С++, у меня есть ряд вопросов:
Есть класс MainWindow на основе QWitget, есть форма где все набросано что мне надо. Есть второй класс Options на основе QDialog созданный путем добавления новых файлов в проект (QT Designer Form Class). Т.е у меня получилось 2 файла MainWindow.cpp, Options.cpp и 2 файла MainWindow.h, Option.h, 2 формы MainWindow.ui, Options.ui и сам файл main.cpp В MainWindow реализовал QSystemTray т.е при сворачивание окна программа сидит в системтрее. В MainWindow есть кнопка опции при нажатие отрывает мое диалоговое окно, в этом диалоговым окне есть checkbox (добавить программу в системтрей), мне надо чтобы при нажатие на checkbox программа была в систем трее и при снятие флажка пропадала из трея, подобный пример мы видем в плеере winAmp Так вот что получается когда я в функции кнопки Опции создаю Код: Option *OptionDlg = new Option(); Код: Option->show(); После того как я создал указатель на класс Option в MainWindow, я немогу создать указатель в Option на MainWindow ругается Пишет типа ISO C++ forbids declaration of MainWindow with no type, в чем пожжет быть трабла expected ; before * token т.е не могу подключить MainWindow в Option в Option.h Код: #include MainWindow.h // так не катить Указатель нужен для доступа к методам из MainWindow в Option классе в частности нужен указатель на мой системтрей. Я правильно делаю что бью формы на классы? Как грамотно общаться между двумя классами? Как сделать диалог опции чтоб запоминал и корректно работал с checkbox - ом? пишу в винде, последний Qt sdk буду признателен за помощь. Название: Re: Как грамотно писать программы на QT Отправлено: zenden от Ноябрь 24, 2010, 20:30 Какой многозначительный заголовок и какая банальная проблема...
Название: Re: Как грамотно писать программы на QT??? Отправлено: atarax от Ноябрь 25, 2010, 07:24 Все проблему решил методом
dynamic_cast<MainWindow*>(this->parent())->pTrayIcon->show(); Название: Re: Как грамотно писать программы на QT??? Отправлено: crossly от Ноябрь 25, 2010, 11:06 какое извращение.... мот c++ подучить...??... в диалоге реализовать к примеру setCheckState getCheckState... диалоги обычно вызываются с помощью exec()
Название: Re: Как грамотно писать программы на QT??? Отправлено: Igors от Ноябрь 25, 2010, 12:22 Все проблему решил методом А если вызывающий "внук" или "правнук"?dynamic_cast<MainWindow*>(this->parent())->pTrayIcon->show(); Код: dynamic_cast<MainWindow*>(this->parent()->parent())->pTrayIcon->show(); Название: Re: Как грамотно писать программы на QT??? Отправлено: atarax от Ноябрь 25, 2010, 18:35 Народ я с++ изучал 3 недели, конечно я толком еще не понимаю всех аспектов языка, можно сказать я еще не понимаю ничего, я нуб в с++
спасибо за ответы, про мот тему посмотрю. про dynamic_cast в данном случае он мне помог, не знаю как еще получить доступ из класса в класс, подскажите кто нить. на главное мне некто не ответил на мои вопросы, так что жду еще критики. Название: Re: Как грамотно писать программы на QT??? Отправлено: deaks от Ноябрь 26, 2010, 01:17 Народ я с++ изучал 3 недели, конечно я толком еще не понимаю всех аспектов языка, можно сказать я еще не понимаю ничего, я нуб в с++ спасибо за ответы, про мот тему посмотрю. про dynamic_cast в данном случае он мне помог, не знаю как еще получить доступ из класса в класс, подскажите кто нить. на главное мне некто не ответил на мои вопросы, так что жду еще критики. знаете, вам наверно стоит почитать про ООП. доступы из класса в класс можно по разному осуществить и это надо делать уже исходя из потребностей. возьмите книгу Полный справочник по С++. Шилдт. и почитайте. а то что вам сейчас будут давать одиночные советы ни к чему хорошему не приведет. ну а потом возьметесь за Qt4.Программирование GUI на c++. Бланшет удачи! Название: Re: Как грамотно писать программы на QT??? Отправлено: lit-uriy от Ноябрь 26, 2010, 06:27 >>подобный пример мы видем в плеере winAmp
а ещё подобный пример мы видим в стандартном примере Qt - System Tray Icon. (см. каталог examples) Название: Re: Как грамотно писать программы на QT??? Отправлено: crossly от Ноябрь 26, 2010, 11:03 Народ я с++ изучал 3 недели, конечно я толком еще не понимаю всех аспектов языка, можно сказать я еще не понимаю ничего, я нуб в с++ спасибо за ответы, про мот тему посмотрю. про dynamic_cast в данном случае он мне помог, не знаю как еще получить доступ из класса в класс, подскажите кто нить. на главное мне некто не ответил на мои вопросы, так что жду еще критики. как поступить я вам подсказал... а после 3х недель с++ Qt трогать рано... у вас будет проблема на проблеме... нельзя изучать с++ на Qt... разберитесь немного с с++ а потом возвращайтесь к Qt Название: Re: Как грамотно писать программы на QT??? Отправлено: atarax от Ноябрь 26, 2010, 22:07 Всем спасибо намек понял
пойду учить с++ тему можно закрыть. |