Название: Просьба помочь Отправлено: Piton4eg от Август 06, 2009, 15:58 Не знаю может не в ту тему пишу, но связано с созданием пользовательского интерфейса.
Суть в том, что мне необходимо создать программу которая считывает из файла данные и отображает полученную картинку, саму программу отображения рисунка я написал, но при создании интерфейса программы возникают сложности, скорее всего проблема с сигналами-слотами, но т.к. я ещё мало пользуюсь этой программой то не могу определить, если кто знает помогите пожалуйста содержимое файла main.cpp Цитировать #include <QtGui/QApplication> #include "ogl_paint.h" #include "ui_prosto.h" #include "pForm.h" #include <QSpacerItem> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget w; QHBoxLayout * phLay; QVBoxLayout * pvLay; ogl_paint * pwOGL; pOGLForm * pf; QSpacerItem * psp; phLay = new QHBoxLayout; pvLay = new QVBoxLayout; pwOGL = new ogl_paint; pwOGL->setMinimumSize(QSize(500,500)); psp = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); pf = new pOGLForm; phLay->addWidget(pwOGL); pvLay->addWidget(pf); pvLay->addItem(psp); phLay->addLayout(pvLay); w.setLayout(phLay); QObject::connect(pf->pb_exit, SIGNAL(clicked()), &a, SLOT(quit())); QObject::connect(pf->pb_paint, SIGNAL(clicked()), pwOGL, SLOT(SlotPaint())); QObject::connect(pf->pb_path, SIGNAL(clicked()), pwOGL, SLOT(SlotLoad(QString))); QObject::connect(pf->chb_temp, SIGNAL(stateChanged(int)), pwOGL, SLOT(SlotTemp(int))); QObject::connect(pf->chb_set, SIGNAL(stateChanged(int)), pwOGL, SLOT(SlotSet(int))); QObject::connect(pf->chb_line_tok, SIGNAL(stateChanged(int)), pwOGL, SLOT(SlotLines(int))); w.show(); return a.exec(); } Во вложении файлы, в которых как раз основные функции, используемые в программе Кто может помочь буду очень признателен, т.к. скоро сдавать отчет по практике, а я никак не могу понять в чем именно проблема Название: Re: Просьба помочь Отправлено: alex12 от Август 14, 2009, 15:01 Я смотрю, что еще ui-файл используется.
Цитировать #include "ui_prosto.h" Обычно делается отдельный виджет типа MainWindow, а не пишется все в main().Если задача все еще актуальна, то выложи архив всего проекта. Название: Re: Просьба помочь Отправлено: Piton4eg от Август 24, 2009, 13:04 Цитировать Я смотрю, что еще ui-файл используется. да используется ui-файл, по крайней мере мне говорили делать так)Цитировать Если задача все еще актуальна, то выложи архив всего проекта. Задача всё ещё актуальна. Архив по ссылке http://ifolder.ru/13679902 (http://ifolder.ru/13679902)Название: Re: Просьба помочь Отправлено: ритт от Август 24, 2009, 13:12 я так понимаю, "саму программу отображения рисунка я написал" следует читать как "саму программу отображения рисунка мне написали"
Название: Re: Просьба помочь Отправлено: Piton4eg от Август 24, 2009, 14:03 нет, писал я, просто некоторые моменты которые я не понимал, мне объяснял мой руководитель, т.к. у меня это первый опыт работы с Qt
если бы мне написали, то я бы аналогично и с интерфейсом поступил Название: Re: Просьба помочь Отправлено: ритт от Август 24, 2009, 14:25 пока что пост я читаю как "соберите мою программу и скажите что в ней не работает"...
опиши проблему и задай вопрос. Название: Re: Просьба помочь Отправлено: alex12 от Август 24, 2009, 14:55 Общая структура проекта GUI сделана совсем криво.
Проект не собирается т.к. передача имени открываемого файла сделана ... ээээ ... совсем неправильно. В тексте виджета делается ссылка на форму (о которой сам виджет ничего не знает). Не ломая весь проект в целом, я смог его починить только богопротивным методом добавления глобального указателя на QLineEdit из формы. По-хорошему нужно переделывать весь GUI. Естественно, я не смог проверить т.к. в проекте нет файла для обработки. Добавлено: main.cpp: QLineEdit *le_filename; le_filename = pf->le_path; ogl_paint.cpp: #include <QLineEdit> extern QLineEdit *le_filename; QString F=le_filename->text(); Вот diff-файл. Надеюсь разбирешься. Код: diff --git a/main.cpp b/main.cpp Название: Re: Просьба помочь Отправлено: Piton4eg от Август 24, 2009, 15:26 2alex12
большое спасибо, понял в чём косяк, буду в этом ковыряться а то что общая структура сделана криво, мне это уже говорили, но по другому к сожалению не умею :( спасибо Название: Re: Просьба помочь Отправлено: alex12 от Август 24, 2009, 16:12 См. вложение к посту. Там я переделал GUI по своему вкусу.
Функционал сделал только кнопка "Выход" и "Загрузить". Посмотри что там к чему. |