Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Vlad_ от Декабрь 08, 2013, 00:57



Название: Не передаётся текстовая строка между формами
Отправлено: Vlad_ от Декабрь 08, 2013, 00:57
Всем привет, в общем идея такая
есть класс категории авто, в нём метод, который вызывает класс информация про авто;

Код:
information_ab_cars obj;
obj.set_conf_path(cfg_path);
в форме(и классе) информация про авто есть метод

Код:
QString information_ab_cars::get_cfg_path()
{
    return this->path;
}
и есть 3 форма при вызове которой должно происходить что-то типо этого(но я не знаю как это сделать,точнее так не получается)

Код:
QPixmap mypix (класс категории авто::объект формы информация про авто.get_cfg_path()+строка 2);
ui->image_container->setPixmap(mypix);


Название: Re: Не передаётся текстовая строка между формами
Отправлено: once_again_abc от Декабрь 08, 2013, 08:55
Всем привет, в общем идея такая
есть класс категории авто, в нём метод, который вызывает класс информация про авто;

Код:
information_ab_cars obj;
obj.set_conf_path(cfg_path);
в форме(и классе) информация про авто есть метод

Код:
QString information_ab_cars::get_cfg_path()
{
    return this->path;
}
и есть 3 форма при вызове которой должно происходить что-то типо этого(но я не знаю как это сделать,точнее так не получается)

Код:
QPixmap mypix (класс категории авто::объект формы информация про авто.get_cfg_path()+строка 2);
ui->image_container->setPixmap(mypix);

а где вопрос? сформулируйте его здесь, желательно без "что-то типо этого"...


Название: Re: Не передаётся текстовая строка между формами
Отправлено: Bepec от Декабрь 08, 2013, 09:05
В принципе он наверно просит код. Но для этого дела у нас есть раздел "Объявления", где за денежку вам сделают то, что хотите :)

PS а так идея вполне простая и реализуемая.


Название: Re: Не передаётся текстовая строка между фор&
Отправлено: Vlad_ от Декабрь 08, 2013, 12:56
Цитировать
а где вопрос? сформулируйте его здесь, желательно без "что-то типо этого"...
если я делаю так как написал, то получаю ошибку invalid use of non-static data member 'Category_of_cars::obj'
     information_ab_cars obj;
с которой не как не могу справится.
                     


Название: Re: Не передаётся текстовая строка между формами
Отправлено: Bepec от Декабрь 08, 2013, 15:15
Продолжайте не справляться. А ведь вы могли бы выкинуть код на общее рассмотрение и мы бы указали вам на ошибку, нооо... Но вы этого не делаете. Как жаль.


Название: Re: Не передаётся текстовая строка между формами
Отправлено: Vlad_ от Декабрь 08, 2013, 15:35
дак мне не сложно information_ab_cars


Название: Re: Не передаётся текстовая строка между формами
Отправлено: gil9red от Декабрь 08, 2013, 16:00
Если файлов или кода много, лучше скинуть проект в архиве, тогда можно будет скачать проект и у себя собирать и искать ошибки ;)


Название: Re: Не передаётся текстовая строка между формами
Отправлено: Bepec от Декабрь 08, 2013, 18:36
Проект как проект, в чём проблема то? всё компилится, картинки показуются, только файлов для myLabel нет, но эт поправимо.

PS подумайте и сформулируйте свой вопрос или залейте ваш проект с "проблемой".


Название: Re: Не передаётся текстовая строка между формами
Отправлено: Vlad_ от Декабрь 08, 2013, 19:27
дико извиняюсь залил не ту версию(

вот в этой версии как бы ошибок нет, но зато не передаётся содержание строки
в файле
config_car.cpp
Код:
QPixmap mypix2 ((QString)Category_of_cars().obj.get_cfg_path()+(QString)"/white");
   ui->image_container->setPixmap(mypix2);
obj.get_cfg_pat() не возвращает 1-ую часть строки


Название: Re: Не передаётся текстовая строка между формами
Отправлено: Vlad_ от Декабрь 09, 2013, 14:36
Продолжайте не справляться. А ведь вы могли бы выкинуть код на общее рассмотрение и мы бы указали вам на ошибку, нооо... Но вы этого не делаете. Как жаль.
вроде же всё сделал, указал что за ошибка(укажу ещё раз не возвращается 1 часть строки при вызове функции из car_config.cpp), проект "выкинул на рассмотрение", а что-то не одного ответа,что не так и почему.


Название: Re: Не передаётся текстовая строка между формами
Отправлено: lit-uriy от Декабрь 09, 2013, 16:46
>>(QString)Category_of_cars().obj.get_cfg_path()+(QString)"/white"
О стиле кода:
В Си++ тип приводят через конструктор класса, т.е. вместо:
(QString)foo
нужно писать
QString(foo)

Итого вся строка должна выглядеть так:
Category_of_cars().obj.get_cfg_path()+QString("/white")

приведение используемое в начале - бесполезное, т.к. метод get_cfg_path() и так возвращает QString, незачем его ещё раз к самому себе приводит.


Название: Re: Не передаётся текстовая строка между формами
Отправлено: Vlad_ от Декабрь 09, 2013, 19:22
Стиль кода меня сейчас меньше всего волнует).


Название: Re: Не передаётся текстовая строка между формами
Отправлено: Vlad_ от Декабрь 09, 2013, 21:29
в общем разобрался, пошел другим путём на форму которую смог передать данные о строке, создал метод будущего класса(формы), в котором заранее задаю сразу pixmap,всем спасибо за участие