crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> динамические диалоговые окна, как использовать?
zamnach
  опции профиля:
сообщение 18.7.2008, 15:26
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 36
Регистрация: 18.7.2008
Пользователь №: 239

Спасибо сказали: 0 раз(а)




Репутация:   0  


хелло!
пытаюсь динамически загружать форму (*.ui) в приложение по книге Бланшет "Qt4..."
код примерно такой:
//-----------hello.h
#include <QtGui/QMainWindow>
#include <QtUiTools>
#include <QUiLoader>
#include <QWidget>
#include <QFileDialog>
#include "ui_hello_qt.h"


//-----------hello.cpp
void Hello_Qt::OpenForm()
{
        QUiLoader uiLoader;
        QFileDialog dlg;
    
        QString str=QFileDialog::getOpenFileName(this,"Open Form","", "*.ui");
        if(str!="")
        {
                QFile file(str);
                file.open(QFile::ReadOnly);
                form = uiLoader.load(&file,this);
                file.close();
        }
}//openform


компилятор msvs2005 Team Suite ругается примерно такими словами:
1>hello_qt.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall QUiLoader::~QUiLoader(void)" (??1QUiLoader@@UAE@XZ) referenced in function "private: void __thiscall Hello_Qt::OpenForm(void)" (?OpenForm@Hello_Qt@@AAEXXZ)
1>hello_qt.obj : error LNK2019: unresolved external symbol "public: class QWidget * __thiscall QUiLoader::load(class QIODevice *,class QWidget *)" (?load@QUiLoader@@QAEPAVQWidget@@PAVQIODevice@@PAV2@@Z) referenced in function "private: void __thiscall Hello_Qt::OpenForm(void)" (?OpenForm@Hello_Qt@@AAEXXZ)
1>hello_qt.obj : error LNK2019: unresolved external symbol "public: __thiscall QUiLoader::QUiLoader(class QObject *)" (??0QUiLoader@@QAE@PAVQObject@@@Z) referenced in function "private: void __thiscall Hello_Qt::OpenForm(void)" (?OpenForm@Hello_Qt@@AAEXXZ)
1> <путь>\Hello_Qt.exe : fatal error LNK1120: 3 unresolved externals
//=================================

без кода, связанного с QUiLoader приложение запускается, по нажатию кнопки диалог открывается.
почему компилятор не находит деструктор QUiLoader?
таки как подгружать динамически форму?
Спасибо
Причина редактирования: для кода используем тэг code=cpp
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
zamnach
  опции профиля:
сообщение 24.7.2008, 12:40
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 36
Регистрация: 18.7.2008
Пользователь №: 239

Спасибо сказали: 0 раз(а)




Репутация:   0  


почитал, скачал, с бубном установил-таки под VC.
Всем спасибо, я пошел учить матчасть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zamnach
  опции профиля:
сообщение 25.7.2008, 15:42
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 36
Регистрация: 18.7.2008
Пользователь №: 239

Спасибо сказали: 0 раз(а)




Репутация:   0  


еще вопрос возник, товарищи!
как разместить загруженный из файла widget на главном окне приложения внутри какого-нить контрола: виджета, групбокса, фрейма?
мне удалось только путем закидывания моего виджета в stackedWidget.
нет такого как в билдере: типа newObject->SetParent(oldObject) и newObject рисуется в прямоугольной области oldObject ?
спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 17:44