В QT Disigner созданы 2 формы: главная и простая, в 2 разных проектах.
Хочу запускать простую форму из главной.
В mainform.ui.h текст:
#include<qstatusbar.h>
#include<qlineedit.h>
#include "darform.h"
void mainForm::fileOpen()
{
/* darForm *darfrm=new darForm(this);
darfrm->show();
darfrm->raise();
darfrm->setActiveWindow(); */
darForm dialog(this);
dialog.exec();
}
При компиляции выдает ошибку:
mainform.cpp:(.text+0x12d): undefined reference to `darForm::darForm(QWidget*, char const*, bool, unsigned int)'
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [mainwnd] Ошибка 1
В mainform.cpp действительно нет указания на 2-ю форму, но ведь там есть
#include "../mainform.ui.h"
Почему тогда не компилируется?
запуск одной формы из другой (Qt3) (обе созданы Disainer'ом)
Модератор: Модераторы разделов
-
- Сообщения: 67
Re: запуск одной формы из другой (Qt3)
1. форму лучше создавать так, как у вас в закомментированном варианте (обьявлять указатель). Иначе функция завершится, память, отведенная под обьект будет освобождена.
2. в *.pro исходники второй формы упомянуты?
2. в *.pro исходники второй формы упомянуты?
Добро всегда побеждает зло. Мы победили, значит мы - добро.
-
- Сообщения: 48
- ОС: KUbuntu 7.10
Re: запуск одной формы из другой (Qt3)
1. Раскомментировал. Результат не изменился.
2. в mainwnd.pro написано:
TEMPLATE = app
LANGUAGE = C++
CONFIG += qt warn_on release
HEADERS += darform.ui.h
SOURCES += main.cpp
FORMS = mainform.ui
,,,,,
то есть, вроде бы упомянуто.
2. в mainwnd.pro написано:
TEMPLATE = app
LANGUAGE = C++
CONFIG += qt warn_on release
HEADERS += darform.ui.h
SOURCES += main.cpp
FORMS = mainform.ui
,,,,,
то есть, вроде бы упомянуто.
-
- Сообщения: 48
- ОС: KUbuntu 7.10
Re: запуск одной формы из другой (Qt3)
Все решено. Я в проект включил оба файла-и darform.ui , и darform.ui.h
Все заработало. Спасибо за подсказку.
Все заработало. Спасибо за подсказку.