Russian Qt Forum
Сентябрь 30, 2024, 14:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWizard и QListWidget  (Прочитано 5142 раз)
Alexorleon
Гость
« : Июнь 24, 2013, 06:53 »

Всем привет, вопрос в следующем, выручайте.

Как после нажатия кнопки Finish в QWizard взять данные из QListWidget в одном из QWizardPage? Или взять QStringList из QWizardPage?

Пробовал так:

cWizardRegion::cWizardRegion(QWidget *parent) : QWizard(parent){

// создаю страницы
    addPage(new cPagePath);
    addPage(new cPageTables);
}

// нажимаю кнопку Finish
void cWizardRegion::accept(){

// пытаюсь получить список данных из QListWidget
    QStringList testList(field("lw_tableList").toStringList());

    qDebug<<testList;    // !!!!! выводит пустой список
    QDialog::accept();
}

// страница на которой располагается QListWidget и из которой нужно взять данные
cPageTables::cPageTables(QWidget *parent) : QWizardPage(parent){

    lw_tablesList = new QListWidget(this);
    ...
    registerField("lw_tablesList", lw_tablesList);
}
« Последнее редактирование: Июнь 24, 2013, 10:10 от Alexorleon » Записан
VPS
Гость
« Ответ #1 : Июнь 24, 2013, 09:49 »

Посмотрите вот здесь. Должно помочь...
Записан
Alexorleon
Гость
« Ответ #2 : Июнь 24, 2013, 10:12 »

Посмотрите вот здесь. Должно помочь...

Смотрел, не могу догнать как сделать этот сигнал. Куда что записать.
Записан
VPS
Гость
« Ответ #3 : Июнь 24, 2013, 10:22 »

Смотрел, не могу догнать как сделать этот сигнал. Куда что записать.
Там же пример есть...
В классе QWizardPage, в котором создаётся объект типа QListWidget создаёшь свойство с методом-слотом для чтения этого свойства (возвращающим QStringList)... В методе возвращаешь список item-ов, как QStringList...
Регистрируешь своё свойство и уже через него работаешь.
Можно обойтись без сигнала, если надо просто считать все, что находится в списке...
« Последнее редактирование: Июнь 24, 2013, 10:28 от vps » Записан
Alexorleon
Гость
« Ответ #4 : Июнь 24, 2013, 11:06 »

Смотрел, не могу догнать как сделать этот сигнал. Куда что записать.
Там же пример есть...
В классе QWizardPage, в котором создаётся объект типа QListWidget создаёшь свойство с методом-слотом для чтения этого свойства (возвращающим QStringList)... В методе возвращаешь список item-ов, как QStringList...
Регистрируешь своё свойство и уже через него работаешь.
Можно обойтись без сигнала, если надо просто считать все, что находится в списке...

И как без сигнала обойтись? Можно пример с кодом пожалуйста какой-нибудь. А то как я сделал через костыль мне совсем не нравится, QListWidget передаю строкой через QLineEdit и уже на месте делю через split.
Записан
VPS
Гость
« Ответ #5 : Июнь 24, 2013, 12:21 »

И как без сигнала обойтись? Можно пример с кодом пожалуйста какой-нибудь. А то как я сделал через костыль мне совсем не нравится, QListWidget передаю строкой через QLineEdit и уже на месте делю через split.

Без сигнала можно обойтись, если Вам, например, надо просто считать список (в виде текста) всех item-ов в QListWidget. Если же необходимо возвращать только тот item, который выбран, то тут уже желательно сигналы использовать, как в примере по ссылке...
Записан
Alexorleon
Гость
« Ответ #6 : Июнь 24, 2013, 12:28 »

И как без сигнала обойтись? Можно пример с кодом пожалуйста какой-нибудь. А то как я сделал через костыль мне совсем не нравится, QListWidget передаю строкой через QLineEdit и уже на месте делю через split.

Без сигнала можно обойтись, если Вам, например, надо просто считать список (в виде текста) всех item-ов в QListWidget. Если же необходимо возвращать только тот item, который выбран, то тут уже желательно сигналы использовать, как в примере по ссылке...

Мне нужен просто список, весь целиком. Напишите пожалуйста как лучше всего это сделать в данном случае.
Записан
VPS
Гость
« Ответ #7 : Июнь 24, 2013, 13:16 »

Напишите пожалуйста как лучше всего это сделать в данном случае.

Уже ведь написал... Непонимающий
Вы бы лучше выложили сюда минимальный компилируемый проект, где у Вас не получается...
Записан
Alexorleon
Гость
« Ответ #8 : Июнь 24, 2013, 14:56 »

Напишите пожалуйста как лучше всего это сделать в данном случае.

Уже ведь написал... Непонимающий
Вы бы лучше выложили сюда минимальный компилируемый проект, где у Вас не получается...

Все, спасибо огромное дружище. Я короче разбор строки сделал, так и оставил.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.146 секунд. Запросов: 20.