Название: замена QSqlRelationalDelegate?? Отправлено: em от Май 21, 2008, 15:42 Приветствую всех, =)
Нужно сделать таблицу используя QTableWidget или QTableView, чтобы в одном столбце был ComboBox вот что есть Код: #include <QtGui> Код: #ifndef SIGNALDELEGATE_H Но вот не пойму какую модель для этого нужно? как заполнять этот комбо бокс например таблица 0-й сталбей строка а 1-й выпадающий список строк, для создания таких таблиц нашел QSqlRelationalDelegate и QSqlRelationalTableModel но это с базой а у меня БД нету! Подскажите плиз)))) Название: Re: замена QSqlRelationalDelegate?? Отправлено: lit-uriy от Май 21, 2008, 15:46 и что? в чем вопрос? название темы и ее содержание как связано?
Название: Re: замена QSqlRelationalDelegate?? Отправлено: em от Май 21, 2008, 15:47 и что? в чем вопрос? название темы и ее содержание как связано? я щас отредактил его недописав нащал Пост... сорриНазвание: Re: замена QSqlRelationalDelegate?? Отправлено: lit-uriy от Май 21, 2008, 15:55 т.е. если не забивать голову названиями, то тебе надо добавить в конкретный столбец выподающий список, я правильно понял?
Название: Re: замена QSqlRelationalDelegate?? Отправлено: em от Май 21, 2008, 16:08 т.е. если не забивать голову названиями, то тебе надо добавить в конкретный столбец выподающий список, я правильно понял? Так точно =)Название: Re: замена QSqlRelationalDelegate?? Отправлено: lit-uriy от Май 21, 2008, 16:08 глянь тему, по моему для тебя: http://prog.org.ru/forum/index.php/topic,7071.msg34827.html
Название: Re: замена QSqlRelationalDelegate?? Отправлено: em от Май 21, 2008, 16:51 глянь тему, по моему для тебя: http://prog.org.ru/forum/index.php/topic,7071.msg34827.html не нашел как модель прикручивать к таким таблицам...Название: Re: замена QSqlRelationalDelegate?? Отправлено: lit-uriy от Май 21, 2008, 16:58 у тебя представление QTableView, если базы нет, то достаточно применить простую модель типа QStandardItemModel
для представления можно сделать делегат в виде выподающего списка, а QSqlRelationalDelegate тебе не надо! если опять не понятно смотри пример тут (http://www.crossplatform.ru/?q=node/525) Название: Re: замена QSqlRelationalDelegate?? Отправлено: em от Май 22, 2008, 10:13 у тебя представление QTableView, если базы нет, то достаточно применить простую модель типа QStandardItemModel посмотрел этот класс!..для представления можно сделать делегат в виде выподающего списка, а QSqlRelationalDelegate тебе не надо! если опять не понятно смотри пример тут (http://www.crossplatform.ru/?q=node/525) а в чем тогда фишка созданной модели? если происходит следующее: создает модель... Код: QStandardItemModel model(4, 2); Код: for (int row = 0; row < 4; row++) А после в классе YStdDelegate в методе createEditor создает ComboBox и заполняет его Код: QComboBox *cmbox = new QComboBox(parent); а модель просто таблица и никак не связана с содержимым? Объясните смысл... Название: Re: замена QSqlRelationalDelegate?? Отправлено: lit-uriy от Май 22, 2008, 13:27 Получается что столбец с ComboBox ом заполняется в одном месте и заполняется списком данных.. нужен был комбо бокс, с двумя значениями "0" и "1" т.е. булевые. ты заполняй тем что тебе надоа модель просто таблица и никак не связана с содержимым? Объясните смысл... Название: Re: замена QSqlRelationalDelegate?? Отправлено: em от Май 23, 2008, 21:45 в ::createEditor соединяю следующие сигнал и слот
Код: QWidget *SignalDelegate::createEditor(QWidget *parent, в SignalDelegate::commitAndCloseEditor() выдаю сообщение msg Код: void SignalDelegate::commitAndCloseEditor() но при изменении значения(строки) в ComboBox сообщения не выдается, подскажите пожалуйста в чем может быть проблемма? пробывал сигналы Цитировать void activated ( int index ) void activated ( const QString & text ) void currentIndexChanged ( int index ) void currentIndexChanged ( const QString & text ) void editTextChanged ( const QString & text ) void highlighted ( int index ) void highlighted ( const QString & text ) сообщения всеравно небыло Название: Re: замена QSqlRelationalDelegate?? Отправлено: lit-uriy от Май 23, 2008, 22:46 на счет Сигналов и слотов в делегате, я не знаю, будет ли это работать. :(
А нужны ли они здесь? Для чего ты их хочешь использовать? Название: Re: замена QSqlRelationalDelegate?? Отправлено: em от Май 24, 2008, 11:18 на счет Сигналов и слотов в делегате, я не знаю, будет ли это работать. :( По идеи должны. Я это взял в книге Бланшет (гл 10. Создание пользовательских делегатов) там пример с QTimeEdit сигнал у него editingFinished(). т.е. по завершении редактирования вызывается слот нужный.А нужны ли они здесь? Для чего ты их хочешь использовать? Для чего мне это нужно? Хочу создать массив размером 8 значений( int arr[8];) и сохранять в нём индекс( есть QComboBox::currentIndex()) выбранного значения ComboBox. 8 потомучто у меня в таблице всего 8 строк, следовательно столько же ComboBox. И все бы нормально но так как ComboBox 'ы заполяняются в SignalDelegate::createEditor путем Код: box->addItem("Signal 2"); Поэтому я хочу в конструкторе класса инициализировать массив значениями -1 (значит ничего не выбранно в КомбоБоксе) а после изменять на новое значение в ::commitAndCloseEditor() т.е. когда пользователь выбрал значение. И уже в ::setEditirData делать что то вроде этого Код: box->setCurrentIndex(arr[index.row()]); Возможно есть другой способ если знаете подскажите или хотябы подскажите насчет сигналов. Название: Re: замена QSqlRelationalDelegate?? Отправлено: lit-uriy от Май 24, 2008, 14:03 а что мешает заполнять делегат данными в setEditorData()?
Название: Re: замена QSqlRelationalDelegate?? Отправлено: ритт от Май 24, 2008, 14:10 а потом прочитать по сетМодельДата() :)
|