crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Помогите реализовать диалог ввода данных
AntonTatu
  опции профиля:
сообщение 16.12.2010, 12:09
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 27.11.2008
Пользователь №: 437

Спасибо сказали: 0 раз(а)




Репутация:   0  


Запутался совсем, можно ли в моем случае использовать модель / представление для ввода данных, подтолкните в правильном направлении..

Задача такая, есть класс в который необходимо записывать следующие данные данные:
Раскрывающийся текст
class myclass
{
    
public:
    myclass();
    ~myclass();
    QString numgrup; //название группы
    QString modelgrup; //используемая модель
    QString spisokuzlov; //список узлов
    QVector < QVector <QString> > parametri; //параметры модели
};

в конце концов на выходе из программы должен получится вектор содержащий столько введенных групп сколько необходимо пользователю..
QVector <myclass> vec_dannih;

ввод данных осуществляется в следующем диалоге:
Прикрепленное изображение

причем для каждой группы таблица заполняется в зависимости от того сколько чисел введено в список узлов, к примеру если ввели 3 числа, то в таблице будет 3 строчки, если 5 чисел то 5 строчек....
вот пока что сделал, а дальше просто в ступоре.... очень помощь нужна...
Прикрепленный файл  dialogOOP.zip ( 5,21 килобайт ) Кол-во скачиваний: 156

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 16.12.2010, 12:38
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


QItemDelegate должен помоч с твоей задачей.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonTatu
  опции профиля:
сообщение 16.12.2010, 15:28
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 27.11.2008
Пользователь №: 437

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(wiz29 @ 16.12.2010, 12:38) *
QItemDelegate должен помоч с твоей задачей.


может кто то делал что то подобное, я уже кучу примеров из Асиситента просмотрел, ничего понять не могу....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 16.12.2010, 16:19
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Попробуй тогда QTableWidget использовать, если сложно или лень разбираться в модель/представлении. Там все попроще.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonTatu
  опции профиля:
сообщение 16.12.2010, 16:45
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 27.11.2008
Пользователь №: 437

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(wiz29 @ 16.12.2010, 16:19) *
Попробуй тогда QTableWidget использовать, если сложно или лень разбираться в модель/представлении. Там все попроще.


дело не в лень..., знаний не хватает... придется опять велосипед изобретать... (который у меня будет уже итак не первый) ну к примеру как вариант:
использовать созданный вектор - класса для хранения введенных вариантов
при нажатии new сделать его ресайз на 1, и заносить в него все введенные значения с формы
нужную мне таблицу делать из QTableWidget (увеличивать количество строчек в таблице по сигналам-слотам или с помощью делегата для "поля ввода списка узла группы") и при создании новой группы заносить введенную инфу из таблице так же в vec_dannih.at(i).parametri
ну конечно еще и сигналы - слоты еще какие нибудь наверно прикручивать придется....


но мне кажется можно все это сделать более "правильно - понятно", а вот модель - представление не осилить....


PS: но все равно wiz29 спасибо за участие...

Сообщение отредактировал AntonTatu - 16.12.2010, 17:14
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 16.12.2010, 18:19
Сообщение #6


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


ну дык Qt не предоставляет решения на все случаи жизни:) Что то нужно написать и самому:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FantasyOr
  опции профиля:
сообщение 17.12.2010, 15:37
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 75
Регистрация: 13.8.2010
Пользователь №: 1956

Спасибо сказали: 4 раз(а)




Репутация:   0  


Вопрос к AntonTatu, зачем вы используете vector, у Вас динамический массив "...при нажатии new сделать его ресайз на 1, и заносить в него все введен...", Qt обладает прекрасным классом QList<T>
Пример:
QList<T> myTList;

T newT1;
T newT2;
T newT3;

myTList <<newT1 <<newT2 <<newT3;

модель-представление в к Вашей задачи как раз подойдет, т.б все равно придется разбираться с этим механизмом.
Если я в чем-то ошибаюсь, то профи меня поправят

Сообщение отредактировал FantasyOr - 17.12.2010, 15:46
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_AntonTatu_*_*
сообщение 17.12.2010, 19:40
Сообщение #8





Гости








    


Цитата(FantasyOr @ 17.12.2010, 15:37) *
Вопрос к AntonTatu, зачем вы используете vector, у Вас динамический массив "...при нажатии new сделать его ресайз на 1, и заносить в него все введен...", Qt обладает прекрасным классом QList<T>
Пример:
QList<T> myTList;

T newT1;
T newT2;
T newT3;

myTList <<newT1 <<newT2 <<newT3;

модель-представление в к Вашей задачи как раз подойдет, т.б все равно придется разбираться с этим механизмом.
Если я в чем-то ошибаюсь, то профи меня поправят


спс, я сегодня уже подумал что QList будет лучше использовать, пытаюсь сделать "велосипед", пока не понял как с моделью представлением мою задачу решить...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.11.2024, 22:22