Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: piton от Март 29, 2005, 20:16



Название: меню в QListView
Отправлено: piton от Март 29, 2005, 20:16
подскажите, pls, как можно добавить меню, вызываемое правой кнопкой мыши, к элементам QListView.
(например, как это сделано в KFind - найденный в списке файл можно открыть...)
спасибо.


Название: меню в QListView
Отправлено: Sergeich от Март 30, 2005, 01:11
Юзай сигнал QListView::contextMenuRequested ( QListViewItem * item, const QPoint & pos, int col )


Название: Re: меню в QListView
Отправлено: Hellenna от Март 30, 2005, 08:56
Код:
//где нибудь, создаешь QPopupMenu
QPopupMenu* my_meny=new QPopupMenu(this);
my_menu->insertItem(tr("this first item")); /*посмотри, есть разные функции insertItem(...), написала самую простую*/
my_menu->insertItem(tr("this second item"));

/*в конструкторе связыаешь сигнал QListView, который написал Sergeich, с о слотом*/
connect(my_list_view, SIGNAL(contextMenuRequested ( QListViewItem * item, const QPoint & pos, int col )), this, SLOT(listViewMenuRequested ( QListViewItem * item, const QPoint & pos, int col )));

//при обработке этого сигнала показываем меню
void My_Form::listViewMenuRequested ( QListViewItem * item, const QPoint & pos, int col ){
my_menu->popup(pos);
....
}


пример есть здесь: http://doc.trolltech.com/3.2/listviews-example.html#x1970
C qt идет пример, кажется, называется listviews.


Название: меню в QListView
Отправлено: piton от Март 30, 2005, 10:36
спасибо!
попробую сегодня..