Название: QListView Отправлено: 461 от Март 26, 2010, 10:01 У меня есть элемент QListView MyList, в который помещаются данные из БД таким образом:
QSqlQueryModel * model = new QSqlQueryModel(0); model->setQuery("SELECT * FROM name"); QListView * view = ui->MyList; view->setModel(model); Помогите пожалуйста сделать обработчик для MyList чтобы когда тыкаешь по элементу из списка, в QLineEdit помещалось имя выбранного элемента? Заранее большое спасибо. Название: Re: QListView Отправлено: SimpleSunny от Март 26, 2010, 10:38 У ListView есть сигнал void clicked ( const QModelIndex & index ) соедени его со слотом, а в слоте используй index.data().
Название: Re: QListView Отправлено: 461 от Март 26, 2010, 10:49 соединил так QObject::connect(ui->MyList, SIGNAL(clicked(const QModelIndex & index )), this, SLOT(cl_tl())); привильно? :) ???
а как index.data() использовть ??? Название: Re: QListView Отправлено: SimpleSunny от Март 26, 2010, 11:18 QObject::connect(ui->MyList, SIGNAL(clicked(QModelIndex)), this, SLOT(cl_tl(QModelIndex)));
UPD. Название: Re: QListView Отправлено: 461 от Март 26, 2010, 11:27 public slots:
void cl_tl(); .... QObject::connect(ui->MyList, SIGNAL(clicked(QModelIndex)), this, SLOT(cl_tl(QModelIndex))); .... void Proga::cl_tl() { QString t = index->data(0).toString(); ui->Name>setText(t); } не работает. ??? Название: Re: QListView Отправлено: SimpleSunny от Март 26, 2010, 11:34 На лицо явное непонимание основ. Почитайте Бланшет, станет все понятней.
Код
Название: Re: QListView Отправлено: 461 от Март 26, 2010, 11:47 Бланшета уже качаю)
но у меня не работает, ругается: ISO C++ forbids declaration of 'QModelIndex' with no type expected ',' or '...' before '&' token ничего не понимаю :o Название: Re: QListView Отправлено: crossly от Март 26, 2010, 12:24 Код: QString t = index->data(Qt::DisplayRole).toString(); Код: QString t = index.data(Qt::DisplayRole).toString(); тут по ходу еще и непонимание с++... или просто не желание вчитываться в то, что тебе пишут... :) |