Здравствуйте я новичок 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();
он не запоминает положение checkbox –а потому что он уничтожается, из-за этого я его инициализирую в конструкторе, а в кнопке вывожу его на экран
я правильно так делаю?
После того как я создал указатель на класс Option в MainWindow, я немогу создать указатель в Option на MainWindow ругается
Пишет типа
ISO C++ forbids declaration of MainWindow with no type, в чем пожжет быть трабла
expected ; before * token
т.е не могу подключить MainWindow в Option
в Option.h
#include MainWindow.h // так не катить
зато в MainWindow все в порядке.
Указатель нужен для доступа к методам из MainWindow в Option классе в частности нужен указатель на мой системтрей.
Я правильно делаю что бью формы на классы?
Как грамотно общаться между двумя классами?
Как сделать диалог опции чтоб запоминал и корректно работал с checkbox - ом?
пишу в винде, последний Qt sdk
буду признателен за помощь.