Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Как кликнуть по QListWidget?

Автор: RazrFalcon 29.5.2011, 18:21

Нужно сымитировать on_listWidget_clicked(const QModelIndex &index);

Никак не пойму что подставлять.
Должно быть, по щаблону:

on_listWidget_clicked(QModelIndex(int row,int column,void *ptr,const QAbstractItemModel *model));

Автор: Litkevich Yuriy 29.5.2011, 19:29

Цитата(RazrFalcon @ 29.5.2011, 21:21) *
Никак не пойму что подставлять.
Должно быть, по щаблону:
не знаешь как получить модельный индекс?

Автор: RazrFalcon 29.5.2011, 19:37

Эмм... не знаю что это =/
Вероятно что нет.

Мне нужно кликнуть по первому элементу в списке.

Автор: Litkevich Yuriy 29.5.2011, 20:00

Цитата(RazrFalcon @ 29.5.2011, 22:37) *
Эмм... не знаю что это =/
Цитата(RazrFalcon @ 29.5.2011, 21:21) *
Нужно сымитировать on_listWidget_clicked(const QModelIndex &index);
http://doc.crossplatform.ru/qt/4.5.0/model-view-model.html#model-indexes

Цитата(RazrFalcon @ 29.5.2011, 22:37) *
Мне нужно кликнуть по первому элементу в списке.
а собственно зачем?

Автор: RazrFalcon 29.5.2011, 20:06

Эт я читал. =/
Не понял.

По нажатии на итемы в списке, список файлов, происходит чтение инфы из них, файлов. Нужно что бы при заполнении листа сразу же выбирался первый итем. И грузилась инфа из него.

Автор: RazrFalcon 30.5.2011, 13:13

Up

Автор: Litkevich Yuriy 30.5.2011, 18:26

Цитата(RazrFalcon @ 29.5.2011, 21:21) *
on_listWidget_clicked(const QModelIndex &index);
почему такой слот, если ты используешь не представление а виджет-список?
почему не on_listWidget_clicked(QListWidgetItem * item)?

Автор: RazrFalcon 30.5.2011, 18:29

У меня просто clicked, а у вас itemClicked. Кстати хорошая идея. Надо проверить.

Автор: Litkevich Yuriy 30.5.2011, 18:31

Цитата(RazrFalcon @ 30.5.2011, 21:29) *
У меня просто clicked, а у вас itemClicked. Кстати хорошая идея. Надо проверить.
на мой взгляд так проще для виджета-списка

Автор: RazrFalcon 30.5.2011, 18:33

Неее. Я так не могу получить его номер/строку.
Мне нужно знать на какой по счету элемент я нажал. А тут я могу получить только текст.

Автор: Litkevich Yuriy 30.5.2011, 18:48

Цитата(RazrFalcon @ 30.5.2011, 21:33) *
Я так не могу получить его номер/строку.
почему?

Автор: RazrFalcon 30.5.2011, 18:54

void Dialog::on_imagesListWidget_itemClicked(QListWidgetItem *item)
{
  item-> //и вот тут то нет нужного мне row()
}

Автор: Litkevich Yuriy 30.5.2011, 20:05

int QListWidget::row ( const QListWidgetItem * item ) const

Автор: RazrFalcon 30.5.2011, 20:50

Да. Спасибо. Не знал о таком способе.

Тогда как теперь выполнить:

on_listWidget_itemClicked(QListWidgetItem *);

??

Автор: RazrFalcon 2.6.2011, 13:43

Up.

Автор: Litkevich Yuriy 2.6.2011, 17:26

QListWidgetItem * QListWidget::item ( int row ) const

Дальше сам сможешь?

Автор: RazrFalcon 2.6.2011, 19:31

Спасибо. Туплю.

on_listWidget_itemClicked(listWidget->item(0));
listWidget->item(0)->setSelected(true);

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)