![]() |
|
|
![]()
|
|
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
Совсем я заблудилась в этих классах…по-мо-ги-те разобраться раз и навсегда!!!
1. создаю в Qt Creator новый gui-проект под именем Proj1 2. задаю имя класса BaseForm, базовый класс – QMainWindow 3. на форму кладу frame1, label1 (с текстом “форма1”), PushButton1… 4. сохраняю проект… 5. теперь главное - хочу создать новую ui-форму (допустим под именем form2), добавить на нее виджеты label2 (с текстом “форма2”), Button2 и выводить эту форму form2 (загружать ее) во фрейм frame1 формы baseform.ui…В cpp-шнике формы form2 я хочу писать сигналы для виджетов (label2, Button2) данной формы. То есть хочу сделать такой “модуль” (форма + cpp-шник+хидер), подключаемый и выводимый в один из виджетов (frame1) формы главного приложения (т.е. формы baseform, которая используется как основа (контейнер) для сбора будущих различных форм (сейчас только form2)) подскажите пож-та всю программную технологию выполнения п.5 : что надо создавать дополнительно для главного приложения (меню Файл/ новый файл или проект): форму Qt designer, класс формы Qt designer, загол-ый файл С++ или что-то другое? «главный» проект с формой baseform – см. в прилагаемом архиве… Я так понимаю для этого надо использовать наследование, но совсем я заблудилась что, где и кому наследовать…помогите пож-та, ооооооооочень надо!!! заранее спасибо всем за помощь… Присоединённый файл ( Кол-во скачиваний: 6 )
Proj1.rar 320,29 Kb |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Так не пробовала?
P.S. Я бы не наследовал простенькую форму-заготовку от QMainWindow, IMHO лучше от QWidget P.P.S. "спасибо" за exe-шник в архиве :( у меня медленный и дорогой gprs. В след. раз отправляй только исходники, плиз Это сообщение отредактировал(а) borisbn - 17.2.2010, 16:15 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
borisbn: извините за экзешник...не знала...
а почему лучше наследовать от QWidget, а не от QMainWindow? в чем принципиальная разница? что за класс TheMainForm? я так понимаю создается экземпляр baseForm класса BaseForm, у которого родителем указывается фрейм frame1 данной формы....а далее?а что конкретно писать вместо "сигнал" и "слот"? напоминаю - надо во frame1 формы baseform загрузить стороннюю ui-форму form2... p.s. у connect 4, а не 3 параметра: bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char *method) Это сообщение отредактировал(а) kuvshinka - 17.2.2010, 20:53 |
|||
|
||||
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
ну подскажите пож-та..всю голову поломала...
вот новые мои потуги....см. прилагаемый архив Присоединённый файл ( Кол-во скачиваний: 2 )
Proj1.rar 268,08 Kb |
|||
|
||||
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
ну уже осталась одна-единственная ошибочка.....help me everybody...
Присоединённый файл ( Кол-во скачиваний: 1 )
Proj1.rar 281,57 Kb |
|||
|
||||
| Sovereign |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 7.11.2006 Репутация: 1 Всего: 4 |
расписывать не стал, там внутри архива все
Присоединённый файл ( Кол-во скачиваний: 19 )
Proj1_1.zip 3,29 Kb |
|||
|
||||
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
Sovereign: спасибо Вам большое за помощь....завтра буду осознавать сей текст....
заодно подскажите ссылочку по поводу использования сигналов и слотов (ф-ия connect)... |
|||
|
||||
| Sovereign |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 7.11.2006 Репутация: 1 Всего: 4 |
http://qtdocs.narod.ru/4.1.0/doc/html/qobject.html#connect
можно и http://doc.crossplatform.ru/qt/4.5.0/qobject.html#connect но там кое-где без перевода, а так лучше ассистанта ничего нет =) |
|||
|
||||
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
пасиба баааальшущеее...будемс читать-врубаться....все-таки очень непривычная такая технология сигналов и слотов- в том же делфи - выбрал компонент и получи например весь список возможных обработчиков событий, а тут....вес как "в малаховку через одессу"... ну да ладно...изучим....
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Да, я сразу не понял что надо - ерунду написал. У Sovereign всё правильно сделано.
А по поводу connect имеет несколько форм (перегруженная ф-ция). если 3-й параметр должен быть this (т.е. сигнал связывается со слотом из объекта, вызывающего connect), то его можно опустить QObject::connect ( const QObject * sender, const char * signal, const char * method, Qt::ConnectionType type = Qt::AutoConnection ) Equivalent to connect(sender, signal, this, method, type). -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
Теперь хочу наоборот - установить connect от form2 к mainwindow (при установленном флажке в checkBox формы form2 хочу вывести произвольную строку в label1 на форме mainwindow, иначе – вывести пустую строку). Для этого надо в form2.h подключить mainwindow.h, создать экземпляр класса mainwindow и т.д. – но почему-то уже на таком первом простом действии (один лишь #include "mainwindow.h") возникают ошибки и предупреждения…в чем теперь тут дело?
См. приложенный архив….он без экзешника…. И еще хотелось бы, чтобы при загрузке form2 ее размеры подгонялись бы под размеры фрейма frame (он на форме mainwindow), в который идет вывод формы. (то есть какого бы размера ни был бы фрейм, form2 точно должна совпадать с ним по размерам (занимать полностью пространство фрейма) ). Присоединённый файл ( Кол-во скачиваний: 2 )
Proj1_2.rar 221,16 Kb |
|||
|
||||
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
ну подскажите пож-та - почему из одной офрмы к другой могу обращатсья, а наоборот (при простом подключении соответствующего хидера файла) - нет - см. архив программы из предыдущего моего сообщения данной темы....
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |