![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Гость_xu-user_* |
![]()
Сообщение
#1
|
Гости ![]() |
Доброго времени суток.
Делал пример по книжке Бланшет-Саммерфильд, компилируется нормально, но при запуске выдаёт "прекращение работы программы" Что не так, понять не могу. Вот исходники: хедер окна диалога:
Его реализация:
Маин:
В чем я ошибся ? |
|
|
silver47 |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
откуда берутся указатели secondaryGroupeBox, tertiaryGroupeBox, layout() и на что они, по вашему, указывают?
Сообщение отредактировал silver47 - 22.6.2011, 10:49 |
|
|
xu-user |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 18 Регистрация: 22.6.2011 Пользователь №: 2761 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
class SortDialog:public QDialog, public Ui::SortDialog
Вот отсюда думал, если наследовать "Ui::SortDialog" то можно обращаться к элементам формы сразу по имени. Qt мне сразу дописывал их названия, вот и решил что видит значит. не так ? |
|
|
silver47 |
![]()
Сообщение
#4
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
У Вас есть форма этого диалога, на котором Вы разместили в дизайнере эти элементы?
В общем так: если использовался дизайнер для создания формы (имеет место быть файл sortdialog.ui в директории с проектом), то: sortdialog.h дополниться:
конструктор sortdialog.cpp будет такой:
Если дизайнер НЕ использовался, то сначала Вам необходимо создать объекты, на которые Вы указателями будите ссылаться, иначе указатель указывает на произвольную область памяти. Когда Вы пытаетесь с ней что-либо делать, то ОС закрывает Ваше приложение. Вот архив с исходником проекта из этой книги. У Вас, видимо, отсутствует файл ui: Сообщение отредактировал silver47 - 22.6.2011, 11:11
Прикрепленные файлы
|
|
|
xu-user |
![]()
Сообщение
#5
|
Студент ![]() Группа: Новичок Сообщений: 18 Регистрация: 22.6.2011 Пользователь №: 2761 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Да, использовался дизайнер. Сделал как написано, жалуется на строчку "ui->setupUi(this);"
типы не совпадают, хотя в примерах видел точно такую же картину и всё работает. ![]() |
|
|
silver47 |
![]()
Сообщение
#6
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
Запустите то, что я прислал. Пришлите сюда свой вариант, который не работает, поглядим.
|
|
|
xu-user |
![]()
Сообщение
#7
|
Студент ![]() Группа: Новичок Сообщений: 18 Регистрация: 22.6.2011 Пользователь №: 2761 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
То что вы прислали - работает. Но что не так у меня я не понимаю... всё тоже самое =\
Вот мой проект, интересно очень в чем проблема. ![]() |
|
|
silver47 |
![]()
Сообщение
#8
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
а что за класс MainWindow? Реализация его есть, а заголовочника нет.
|
|
|
xu-user |
![]()
Сообщение
#9
|
Студент ![]() Группа: Новичок Сообщений: 18 Регистрация: 22.6.2011 Пользователь №: 2761 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Нету же ни того ни другого
![]() |
|
|
silver47 |
![]()
Сообщение
#10
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
Ошибка в файле UI.
Вы Выбрали какой шаблон при создании файла UI? Наверняка, по-умолчанию - QMainWindow ![]() Сообщение отредактировал silver47 - 22.6.2011, 12:19 |
|
|
xu-user |
![]()
Сообщение
#11
|
Студент ![]() Группа: Новичок Сообщений: 18 Регистрация: 22.6.2011 Пользователь №: 2761 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Аа.. всё тогда ясно. Засада. Просто я в начале делал этот ui фаил как отдельную программу, он там и был mainwindow, а потом создал уже SortDialog и туда запихал его, а хедер и реализацию написал новую как QDialog. В том проекте всё было верно, а тут не совпало. Вот и косяк
![]() Благодарю за помощь. |
|
|
Алексей1153 |
![]()
Сообщение
#12
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
->
->
![]() Сообщение отредактировал Алексей1153 - 22.6.2011, 12:27 |
|
|
silver47 |
![]()
Сообщение
#13
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
Вообще достаточно было выбрать нужный шаблон.
Файл - новый проект - GUI приложение - указываем название и путь, куда исходники сохранять, Указываем конфигурацию сборки(чаще всего Desktop), А вот и выбор шаблона: Имя класса : (по умолчанию - MainWindow) Пишем - SortDialog Базовый класс: (по умолчанию - QMainWidnow) выбираем - QDialog (мы же диалог создаем?) и все... жмем далее и радуемся ) |
|
|
Litkevich Yuriy |
![]()
Сообщение
#14
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 14.6.2025, 17:20 |