Контейнеры |
Здравствуйте, гость ( Вход | Регистрация )
Контейнеры |
yasik.box |
25.2.2009, 13:21
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 25.2.2009 Пользователь №: 576 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я еще совсем зеленый в QT.
У меня вопрос. У меня несколько форм в приложении, в каждой форме пользователь выбирает определенные параметры (это будет текст из разных виджетов). Есть ли какой нибуть "контейнер" в QT в который я буду добавлять эти параметры с разных форм. А потом еще и выбирать из него нужные. Если есть то как правильно его описать? Или я сильно загнул и хочу сильно многово ??? Ну если чем можете - помогите - подскажите как можно реализовать эту идею. Спасибо. |
|
|
kwisp |
25.2.2009, 13:40
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
yasik.box,
набери в ассистенте Цитата container class очень много вариантов использования различный контейнеров. |
|
|
ViGOur |
25.2.2009, 13:42
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Все зависит от того, как именно ты хочешь хранить и выбирать данные параметры.
Можно просто воспользоваться QList или QMap или сделать структуру, в которой будет храниться параметр, какой форме он принадлежит, дополнительные данные и хранить их в тех же QList или QMap. |
|
|
yasik.box |
26.2.2009, 11:07
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 25.2.2009 Пользователь №: 576 Спасибо сказали: 0 раз(а) Репутация: 0 |
Все зависит от того, как именно ты хочешь хранить и выбирать данные параметры. Можно просто воспользоваться 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" И после по сигналу кнопки пробую добавить в контейнер:
Подскажите, может я что то не так делаю, или так вообще нельзя, в один контейнер с разных форм ??? Спасибо.
Причина редактирования: используй тэг code
|
|
|
Litkevich Yuriy |
26.2.2009, 11:18
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
myform::options("2",text); //-- вот тут то и пишет мне ошибку (я ее описал в начале) это не статическая функция.и раз уж это слот, то создай сигнал в классе second с тойже сигнатурой, что и слот, соедени сигнал со слотом в конструкторе second, а в second::on_pushButton_clicked(), пошли свой сигнал. |
|
|
kwisp |
26.2.2009, 11:20
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
yasik.box,
это же слот а не статическая функция. объект нужен чтоб вызвать слот либо соединить его с сигналом. попробуй написать сигнал с параметрами 2 строки во второй форме и высылать его когда необходимо. связать сигнал с твоим слотом options(). |
|
|
yasik.box |
26.2.2009, 13:35
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 25.2.2009 Пользователь №: 576 Спасибо сказали: 0 раз(а) Репутация: 0 |
А можно пример.
Не получается у меня чего-то. Если вам не сложно, по моему примеру, напишите как должно быть, что б я наконец увидел всю картину и все стало на свои места. |
|
|
Litkevich Yuriy |
26.2.2009, 13:51
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
yasik.box |
26.2.2009, 14:20
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 25.2.2009 Пользователь №: 576 Спасибо сказали: 0 раз(а) Репутация: 0 |
что б я наконец увидел всю картину и все стало на свои места. вот картинку ты нам нарисуй, а мы поправим.как сейчас у тебя классы myform и second завязаны? Цитата myform Здесь Реализация функции options которая получает 2 строчки и добавляет их в контейнер Button --> Нажали --> SLOT(options(QString s1, QString s2)) -- передали в функцию, она обработала second Отсюда я решил что можно нажать на кнопку и она передаст другие 2 строчки только для обработки в функцию что находиться в myform и тот же контейнер примет новые параметры с другой формы. И т.д. Вот такой принцип я думал реализовать - если есть попроще - подскажите. |
|
|
Litkevich Yuriy |
26.2.2009, 14:44
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
логика работы это одно, а взаимодействие классов другое.
где создаются экземпляры классов myform и second? Где кнопки? yasik.box, рекомендую забросить Дизайнер подальше - быстрее с Qt разберешся. |
|
|
Текстовая версия | Сейчас: 27.12.2024, 23:19 |