crossplatform.ru

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


  Ответ в Контейнеры
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 26.2.2009, 14:44
  логика работы это одно, а взаимодействие классов другое.

где создаются экземпляры классов myform и second? Где кнопки?

yasik.box, рекомендую забросить Дизайнер подальше - быстрее с Qt разберешся.
yasik.box Дата 26.2.2009, 14:20
 
Цитата(Litkevich Yuriy @ 26.2.2009, 14:51) *
Цитата(yasik.box @ 26.2.2009, 16:35) *
что б я наконец увидел всю картину и все стало на свои места.
вот картинку ты нам нарисуй, а мы поправим.
как сейчас у тебя классы myform и second завязаны?



Цитата
myform
Здесь Реализация функции options которая получает 2 строчки и добавляет их в контейнер
Button --> Нажали --> SLOT(options(QString s1, QString s2)) -- передали в функцию, она обработала



second
Отсюда я решил что можно нажать на кнопку и она передаст другие 2 строчки только для обработки в функцию что находиться в myform и тот же контейнер примет новые параметры с другой формы. И т.д.

Вот такой принцип я думал реализовать - если есть попроще - подскажите.
Litkevich Yuriy Дата 26.2.2009, 13:51
 
Цитата(yasik.box @ 26.2.2009, 16:35) *
что б я наконец увидел всю картину и все стало на свои места.
вот картинку ты нам нарисуй, а мы поправим.
как сейчас у тебя классы myform и second завязаны?
yasik.box Дата 26.2.2009, 13:35
  А можно пример.
Не получается у меня чего-то.

Если вам не сложно, по моему примеру, напишите как должно быть, что б я наконец увидел всю картину и все стало на свои места.
kwisp Дата 26.2.2009, 11:20
  yasik.box,

myform::options("2",text);

это же слот а не статическая функция.
объект нужен чтоб вызвать слот либо соединить его с сигналом.

попробуй написать сигнал с параметрами 2 строки во второй форме и высылать его когда необходимо.
связать сигнал с твоим слотом options().
Litkevich Yuriy Дата 26.2.2009, 11:18
 
Цитата(yasik.box @ 26.2.2009, 14:07) *
myform::options("2",text); //-- вот тут то и пишет мне ошибку (я ее описал в начале)
это не статическая функция.

и раз уж это слот, то создай сигнал в классе second с тойже сигнатурой, что и слот, соедени сигнал со слотом в конструкторе second, а в second::on_pushButton_clicked(), пошли свой сигнал.
yasik.box Дата 26.2.2009, 11:07
 
Цитата(ViGOur @ 25.2.2009, 13:42) *
Все зависит от того, как именно ты хочешь хранить и выбирать данные параметры.
Можно просто воспользоваться 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
public slots:
void options(QString, QString);   //-- функция

[b]myform.cpp[/b]

void myform::options(QString s1, QString s2)
{
    QMap<QString, QString> opts;
    opts.insert(s1, s2);
    
}


На второй форме в second.cpp
Вложил #include "myform.h"

И после по сигналу кнопки пробую добавить в контейнер:

void second::on_pushButton_clicked()
{
QString text = m_ui->lineEdit->text();

myform::options("2",text);  //-- вот тут то и пишет мне ошибку (я ее описал в начале)

}


Подскажите, может я что то не так делаю, или так вообще нельзя, в один контейнер с разных форм ???
Спасибо.
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 в который я буду добавлять эти параметры с разных форм. А потом еще и выбирать из него нужные. Если есть то как правильно его описать?
Или я сильно загнул и хочу сильно многово ???

Ну если чем можете - помогите - подскажите как можно реализовать эту идею. Спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 12:58