crossplatform.ru

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

Гость_xu-user_*
сообщение 22.6.2011, 10:29
Сообщение #1





Гости








    


Доброго времени суток.
Делал пример по книжке Бланшет-Саммерфильд, компилируется нормально, но при запуске выдаёт "прекращение работы программы" Что не так, понять не могу.
Вот исходники:

хедер окна диалога:
#ifndef SORTDIALOG_H
#define SORTDIALOG_H

#include <QDialog>
#include "ui_sortdialog.h" 

class SortDialog:public QDialog, public Ui::SortDialog
{
    Q_OBJECT;

    public:
        SortDialog(QWidget* parent = 0);
};

#endif // SORTDIALOG_H


Его реализация:
#include <QtGui>
#include "sortdialog.h"

SortDialog::SortDialog(QWidget *parent)
    :QDialog(parent)
{
    secondaryGroupeBox->hide();
    tertiaryGroupeBox->hide();

    layout()->setSizeConstraint(QLayout::SetFixedSize);

}


Маин:
#include <QtGui/QApplication>
#include "sortdialog.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    SortDialog *dialog = new SortDialog;
    dialog->show();
    return app.exec();
}


В чем я ошибся ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V  < 1 2  
Начать новую тему
Ответов (10 - 13)
xu-user
  опции профиля:
сообщение 22.6.2011, 12:20
Сообщение #11


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 22.6.2011
Пользователь №: 2761

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




Репутация:   0  


Аа.. всё тогда ясно. Засада. Просто я в начале делал этот ui фаил как отдельную программу, он там и был mainwindow, а потом создал уже SortDialog и туда запихал его, а хедер и реализацию написал новую как QDialog. В том проекте всё было верно, а тут не совпало. Вот и косяк :unsure:
Благодарю за помощь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 22.6.2011, 12:25
Сообщение #12


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


class SortDialog : public QDialog, public Ui::SortDialog

->
class SortDialog : public QMainWindow, public Ui::SortDialog



SortDialog::SortDialog(QWidget *parent)
    : QDialog(parent)

->
SortDialog::SortDialog(QWidget *parent)
     : QMainWindow(parent)


:)

Сообщение отредактировал Алексей1153 - 22.6.2011, 12:27
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
silver47
  опции профиля:
сообщение 22.6.2011, 12:34
Сообщение #13


Активный участник
***

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

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




Репутация:   6  


Вообще достаточно было выбрать нужный шаблон.
Файл - новый проект - GUI приложение - указываем название и путь, куда исходники сохранять, Указываем конфигурацию сборки(чаще всего Desktop), А вот и выбор шаблона:
Имя класса : (по умолчанию - MainWindow) Пишем - SortDialog
Базовый класс: (по умолчанию - QMainWidnow) выбираем - QDialog (мы же диалог создаем?)
и все... жмем далее и радуемся )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 22.6.2011, 12:51
Сообщение #14


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(silver47 @ 22.6.2011, 14:04) *
sortdialog.h дополниться:
namespace Ui {
class SortDialog;
}
в этом нет нужды, у него заголовочник сразу подключается
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 22.6.2025, 22:58