Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Emc от Сентябрь 03, 2007, 14:17



Название: QTreeView
Отправлено: Emc от Сентябрь 03, 2007, 14:17
Есть модель, есть QTreeView.
Задача - по двойному клику мыши и нажатию клавиши Enter на текущий item исполнить функцию в слоте.
Вроде бы все просто, есть сигналы void activated ( const QModelIndex & index ) и void doubleClicked ( const QModelIndex & index ),
Но по двойному клику испускаются оба сигнала и соответственно дважды исполняется слотовая функция. Есть ли варианты этого избежать??


Название: Re: QTreeView
Отправлено: denka от Сентябрь 03, 2007, 14:37
Переопределить mouseDoubleClickEvent


Название: Re: QTreeView
Отправлено: Emc от Сентябрь 03, 2007, 14:54
да, действительно просто - спасибо


Название: Re: QTreeView
Отправлено: Sergey B. от Сентябрь 04, 2007, 05:11
А просто убрать

Код:
void doubleClicked ( const QModelIndex & index )

так как:

void QAbstractItemView::activated ( const QModelIndex & index )   [signal]
This signal is emitted when the item specified by index is activated by the user.
How to activate items depends on the platform; e.g., by single- or double-clicking the item,
or by pressing the Return or Enter key when the item is current.
See also clicked(), doubleClicked(), entered(), and pressed().