QTreeWidget headeritem, Клик на headeritem |
Здравствуйте, гость ( Вход | Регистрация )
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
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Но как через него сделать клик именно в заголовке? ну "клик"-то ты мышкой делаешь.Первое, что в голову пришло: Сигнал передаёт в качестве параметра элемент дерева, его можно сравнить (по указателю) с тем, который возвращается функцией 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
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 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 |
ну тогда только через QHeaderView: QHeaderView * QTreeView::header () const А в нём сигнал: void QHeaderView::sectionClicked ( int logicalIndex ) [signal] П.С. QTreeWidget наследник QTreeView ну тогда только через 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
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 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
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 10:05 |