Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 26.2.2009, 14:44 |
логика работы это одно, а взаимодействие классов другое. где создаются экземпляры классов myform и second? Где кнопки? yasik.box, рекомендую забросить Дизайнер подальше - быстрее с Qt разберешся. |
|
yasik.box | Дата 26.2.2009, 14:20 |
что б я наконец увидел всю картину и все стало на свои места. вот картинку ты нам нарисуй, а мы поправим.как сейчас у тебя классы myform и second завязаны? Цитата myform Здесь Реализация функции options которая получает 2 строчки и добавляет их в контейнер Button --> Нажали --> SLOT(options(QString s1, QString s2)) -- передали в функцию, она обработала second Отсюда я решил что можно нажать на кнопку и она передаст другие 2 строчки только для обработки в функцию что находиться в myform и тот же контейнер примет новые параметры с другой формы. И т.д. Вот такой принцип я думал реализовать - если есть попроще - подскажите. |
|
Litkevich Yuriy | Дата 26.2.2009, 13:51 |
что б я наконец увидел всю картину и все стало на свои места. вот картинку ты нам нарисуй, а мы поправим.как сейчас у тебя классы myform и second завязаны? |
|
yasik.box | Дата 26.2.2009, 13:35 |
А можно пример. Не получается у меня чего-то. Если вам не сложно, по моему примеру, напишите как должно быть, что б я наконец увидел всю картину и все стало на свои места. |
|
kwisp | Дата 26.2.2009, 11:20 |
yasik.box,
это же слот а не статическая функция. объект нужен чтоб вызвать слот либо соединить его с сигналом. попробуй написать сигнал с параметрами 2 строки во второй форме и высылать его когда необходимо. связать сигнал с твоим слотом options(). |
|
Litkevich Yuriy | Дата 26.2.2009, 11:18 |
myform::options("2",text); //-- вот тут то и пишет мне ошибку (я ее описал в начале) это не статическая функция.и раз уж это слот, то создай сигнал в классе second с тойже сигнатурой, что и слот, соедени сигнал со слотом в конструкторе second, а в second::on_pushButton_clicked(), пошли свой сигнал. |
|
yasik.box | Дата 26.2.2009, 11:07 |
Все зависит от того, как именно ты хочешь хранить и выбирать данные параметры. Можно просто воспользоваться QList или QMap или сделать структуру, в которой будет храниться параметр, какой форме он принадлежит, дополнительные данные и хранить их в тех же QList или QMap. Почитал про QMap, это то что мне нужно. Как раз нужно мне хранить параметры по определенному индексу. Я задекларировал функцию которую вызываю по сигналу какого нибудь виджета и в зависимости от виджета в QMap добавляются нужные параметры для хранения. На одной форме все как по маслу !!! Но когда я пробую передать в контейнер QMap параметры по сигналу в другой форме, то вылетает такая ошибка: D:/C++/myprojetc/second.cpp:33: error: cannot call member function `void myform::options(QString, QString)' without object Подскажите, как добиться нужного мне результата??? Код организован таким образом: Проект из 2-х форм (myform, second) myform.h
На второй форме в second.cpp Вложил #include "myform.h" И после по сигналу кнопки пробую добавить в контейнер:
Подскажите, может я что то не так делаю, или так вообще нельзя, в один контейнер с разных форм ??? Спасибо. |
|
ViGOur | Дата 25.2.2009, 13:42 |
Все зависит от того, как именно ты хочешь хранить и выбирать данные параметры. Можно просто воспользоваться QList или QMap или сделать структуру, в которой будет храниться параметр, какой форме он принадлежит, дополнительные данные и хранить их в тех же QList или QMap. |
|
kwisp | Дата 25.2.2009, 13:40 |
yasik.box, набери в ассистенте Цитата container class очень много вариантов использования различный контейнеров. |
|
yasik.box | Дата 25.2.2009, 13:21 |
Я еще совсем зеленый в QT. У меня вопрос. У меня несколько форм в приложении, в каждой форме пользователь выбирает определенные параметры (это будет текст из разных виджетов). Есть ли какой нибуть "контейнер" в QT в который я буду добавлять эти параметры с разных форм. А потом еще и выбирать из него нужные. Если есть то как правильно его описать? Или я сильно загнул и хочу сильно многово ??? Ну если чем можете - помогите - подскажите как можно реализовать эту идею. Спасибо. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.3.2024, 12:58 |