Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: izoomer от Май 14, 2007, 19:36



Название: [qt-4.2.0 Linux] Виджет возвращающий значение
Отправлено: izoomer от Май 14, 2007, 19:36
Создаюсвой видежт от QDialog ... так вот, у меня там свои кнопки ... и хотелось бы что бы при нажатии они диалог закрывался и возвращал каки елибо мои данные , будь то int или QString ... как так сделать ?

добавлено спустя 37 минут:

 стормозил ... QDialog::done(int);


Название: [qt-4.2.0 Linux] Виджет возвращающий значение
Отправлено: Kosh от Май 17, 2007, 12:17
видимо так. Каждая кнопка вызывает done(int флаг_кнопки) со своим флагом. Этот флаг тебе вернет exec(). Дальше анализируешь, что за флаг и просишь диалог вернуть соответсвующее значение, что-нибудь типа
Код:

res = dialog.exec();
switch(res)
{
 case flag_1:
    QString str = dialog.getString();
    break;
 case flag_2
...
}


Название: [qt-4.2.0 Linux] Виджет возвращающий значение
Отправлено: Tonal от Май 17, 2007, 16:35
Ну и этот код запихиваешь в статическую функцию, по аналогии с QFileDialog::getOpenFileName