Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: radislav72 от Октябрь 27, 2011, 12:51



Название: Клик мыши в заголовке QTableView
Отправлено: radislav72 от Октябрь 27, 2011, 12:51
Хочу отловить клик мыши по хеадеру таблицы (tabvDetails в коде ниже). Делаю так:
Код:
connect(ui->tabvDetails->horizontalHeader(), SIGNAL(clicked(QModelIndex)), this, SLOT(headerClicked(QModelIndex)));

...
void members_settings::headerClicked(const QModelIndex &index)
{
}

Но слот headerClicked по кликанью не вызывается.

Что не так?


Название: Re: Клик мыши в заголовке QTableView
Отправлено: Пантер от Октябрь 27, 2011, 13:06
void QHeaderView::sectionClicked ( int logicalIndex ) [signal]


Название: Re: Клик мыши в заголовке QTableView
Отправлено: radislav72 от Октябрь 27, 2011, 13:18
Спасибо. Все супер, работает.
Только не понятно, почему по сигналу clicked не работало. В доках пишет:
Цитировать
void QAbstractItemView::clicked ( const QModelIndex & index ) [signal]

This signal is emitted when a mouse button is clicked. The item the mouse was clicked on is specified by index. The signal is only emitted when the index is valid.


Название: Re: Клик мыши в заголовке QTableView
Отправлено: Пантер от Октябрь 27, 2011, 13:20
QAbstractItemView != QHeaderView


Название: Re: Клик мыши в заголовке QTableView
Отправлено: radislav72 от Октябрь 27, 2011, 13:22
Вопросов нет :)


Название: Re: Клик мыши в заголовке QTableView
Отправлено: radislav72 от Октябрь 27, 2011, 13:44
А можно в хеадер поставить картинку, не создавая своего потомка QHeaderView?
Если да, то как?


Название: Re: Клик мыши в заголовке QTableView
Отправлено: deaks от Октябрь 27, 2011, 14:44
А можно в хеадер поставить картинку, не создавая своего потомка QHeaderView?
Если да, то как?

http://www.prog.org.ru/topic_11339_0.html


Название: Re: Клик мыши в заголовке QTableView
Отправлено: asvil от Октябрь 27, 2011, 17:54
нет нельзя.


Название: Re: Клик мыши в заголовке QTableView
Отправлено: GreatSnake от Октябрь 27, 2011, 18:01
нет нельзя.
Чего это вдруг?


Название: Re: Клик мыши в заголовке QTableView
Отправлено: GreatSnake от Октябрь 27, 2011, 18:08
А можно в хеадер поставить картинку, не создавая своего потомка QHeaderView?
Если да, то как?
Код
C++ (Qt)
QTableView::model()->setHeaderData( section_index, Qt::Horizontal, icon_or_image_or_pixmap, Qt::DecorationRole );


Название: Re: Клик мыши в заголовке QTableView
Отправлено: radislav72 от Октябрь 28, 2011, 09:10
QTableView::model()->setHeaderData( section_index, Qt::Horizontal, icon_or_image_or_pixmap, Qt::DecorationRole );
Спасибо, все оч. хорошо. А можно при етом управлять выводом? То-есть, слева или справа от надписи, отступ от надписи?...


Название: Re: Клик мыши в заголовке QTableView
Отправлено: GreatSnake от Октябрь 28, 2011, 09:30
А можно при етом управлять выводом? То-есть, слева или справа от надписи, отступ от надписи?...
Нет.