Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Qt создание форм

316
12 апреля 2011 года
Alm3n
889 / / 29.05.2009
Доброго времени суток.
Есть четере формы - первая - mainform и три разных формы для объекта QTableWidget. В заголовке mainform подключаю ui_formx.h друх форм и вылетает ошибка о ранее описанном классе Ui_form.
как создать остальные формы в конструкторе mainform? Кажется, я ошибся в имени класса при создании формы. Сейчас делаю так:
mainform.h
Код:
#ifndef PM_WINDOW_H
#define PM_WINDOW_H
#include "form.h"

#include "proc_form.h"

#include "ui_pm_window.h"


class Pm_Window : public QWidget
{
    Q_OBJECT
public:
    Pm_Window(QWidget *parent = 0);
    ~Pm_Window(){};

private:
    QList<Serv_form*> tabList;
    QList<Proc_form*> ptabList;
    Serv_form* addsrTab();
    Proc_form* addpcTab();
};

#endif // PM_WINDOW_H

mainform.cpp
Код:
#include "pm_window.h"

Pm_Window::Pm_Window(QWidget *parent): QWidget(parent)
{
    setupUi(this);
    addpcTab();
    addsrTab();
}


Serv_form* Pm_Window::addsrTab()
{
    Serv_form* form = new Serv_form;
    tabList.append(form);
    tabWidget->addTab(form, "Сервисы");
    return form;
}

Proc_form* Pm_Window::addpcTab()
{
    Proc_form* form = new Proc_form;
    ptabList.append(form);
    tabWidget->addTab(form, "Процессы");
    return form;
}
11
12 апреля 2011 года
oxotnik333
2.9K / / 03.08.2007
файл ui_*****.h это автоматически генерируемый временный заголовочник, его подключать не надо
надо подключать файл который совпадает с названием класса формы (без ui_ )
316
13 апреля 2011 года
Alm3n
889 / / 29.05.2009
Цитата: oxotnik333
это автоматически генерируемый временный заголовочник, его подключать не надо


ну, его сам creator подключает. без него setupui() не вызовется.

11
13 апреля 2011 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Alm3n
ну, его сам creator подключает. без него setupui() не вызовется.



ну и я о том же: не надо его рукаи подключать.
ИДЕ при создании формы и класса формы создает файлы:
SomeForm.h
SomeForm.cpp
SomeForm.ui
ui_SomeForm.h
при чем ui_SomeForm.h создается на этапе компиляции, на основе SomeForm.ui, а не сразу при создании класса формы.

Тебе надо подключать SomeForm.h без всяких ui_*, все остальное среда сама найдет и подключит

316
13 апреля 2011 года
Alm3n
889 / / 29.05.2009
да я сам как-то ничего и не подключал. это из-за совпадения имен классов в ui_form redifinition был.чтобы тред не был бессмысленно создан, скажите, чем QWidget форма отличается от QMainWindow?
11
13 апреля 2011 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Alm3n
скажите, чем QWidget форма отличается от QMainWindow?


у него кроме QWidget еще всяких приблуд много наврочено

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог