crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QTreeWidget headeritem, Клик на headeritem
Rosster
  опции профиля:
сообщение 1.12.2009, 23:01
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 23.11.2009
Пользователь №: 1254

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет, как в QTreeWidget сделать так, чтобы при клике на headeritem вызывалась функция, имеется сигнал ItemClicked(). Но как через него сделать клик именно в заголовке? Или есть другие способы?
спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.12.2009, 23:09
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Rosster @ 2.12.2009, 2:01) *
Но как через него сделать клик именно в заголовке?
ну "клик"-то ты мышкой делаешь.
Первое, что в голову пришло:
Сигнал передаёт в качестве параметра элемент дерева, его можно сравнить (по указателю) с тем, который возвращается функцией QTreeWidgetItem * headerItem () const, если они равны (и не нулевые), то щёлкнули по заголовку, тогда вызвать нужную функцию
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rosster
  опции профиля:
сообщение 3.12.2009, 1:14
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 23.11.2009
Пользователь №: 1254

Спасибо сказали: 0 раз(а)




Репутация:   0  


Не, не помогло))))
ItemClicked() работает только при нажатии на сами ветки дерева, а на заголовок не действует
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.12.2009, 1:17
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ну тогда только через QHeaderView:
QHeaderView * QTreeView::header () const
А в нём сигнал:
void QHeaderView::sectionClicked ( int logicalIndex ) [signal]

П.С. QTreeWidget наследник QTreeView
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rosster
  опции профиля:
сообщение 3.12.2009, 12:17
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 23.11.2009
Пользователь №: 1254

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 3.12.2009, 1:17) *
ну тогда только через QHeaderView:
QHeaderView * QTreeView::header () const
А в нём сигнал:
void QHeaderView::sectionClicked ( int logicalIndex ) [signal]

П.С. QTreeWidget наследник QTreeView



Цитата(Litkevich Yuriy @ 3.12.2009, 1:17) *
ну тогда только через QHeaderView:
QHeaderView * QTreeView::header () const
А в нём сигнал:
void QHeaderView::sectionClicked ( int logicalIndex ) [signal]

П.С. QTreeWidget наследник QTreeView

Пишу:
QHeaderView *head = treeWidget->header();
connect(head, SIGNAL(sectionClicked(int )), this, SLOT(Function(int )));
QTableWidget c одной колонкой,а this - это диалог, остальные сигналы нормально работают, может не так делаю?

connect возвращает false

ошибся,connect возвращает true. Значит проблема в реализации кода, что-то не так
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.12.2009, 15:28
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Rosster, ты в слот воткни строчку:
qDebug() << "Into Function(int )";

П.С. Не забудь включить консоль при отладке
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rosster
  опции профиля:
сообщение 3.12.2009, 22:25
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 23.11.2009
Пользователь №: 1254

Спасибо сказали: 0 раз(а)




Репутация:   0  


Решение было найдено: может кому-то поможет:
connect((QObject*)head, SIGNAL(sectionClicked(int )), this, SLOT(Function(int )));
илии включить заголовок: QHeaderView в проект.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.12.2009, 0:37
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Rosster @ 4.12.2009, 1:25) *
(QObject*)
это бред како-то,
Цитата(Rosster @ 4.12.2009, 1:25) *
лии включить заголовок: QHeaderView в проект.
ну это само собой, это и в асистенте в описании класса написано
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 10.4.2020, 9:23