Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
23 Июль 2025, 00:31:09
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

Помогите поймать событие для QTableWidget в QT4.4

Страниц  :   Вниз
  Печать  
Автор Тема: Помогите поймать событие для QTableWidget в QT4.4  (Прочитано 2024 раз)
0 Пользователей и 1 Гость смотрят эту тему.
stringer2008
Новенький


Репутация: +1/-0
Offline Offline

Сообщений: 5


Я люблю Гродненский форум!

Просмотр профиля
« : 05 Август 2008, 11:34:32 »

Есть две таблицы. В одной 3 троки и 3 колонки, а в другой 10 строк и 3 колонки. Как определить момент, когда таблица получает фокус, если я щелкаю мышкой по таблице, но не по строке в этой таблице?
На форме есть и другие элементы. Надо сделать что-то типа Total Commander-а, но на QT4.
« Последнее редактирование: 05 Август 2008, 11:48:33 от stringer2008 » Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #1 : 05 Август 2008, 13:05:42 »

возможно нужно переопределить метод mousePressEvent (наследуется от QWidget), но при нажатии по строке таблицы это событие не будет генерироваться
« Последнее редактирование: 05 Август 2008, 13:06:18 от coolasm » Записан

HTTP Error 404 - File or directory not found.
stringer2008
Новенький


Репутация: +1/-0
Offline Offline

Сообщений: 5


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #2 : 05 Август 2008, 13:52:45 »

Я сделал вот так:
Код:
connect(ui.leftTable,SIGNAL(mousePressEvent(QMouseEvent*)),this,SLOT(leftMousePressEvent(QMouseEvent*)));
Но что-то не помогло. Сигнал не вызывается.
Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #3 : 05 Август 2008, 16:15:42 »

mousePressEvent - это не сигнал, а виртуальный метод класса QWidget (он наследуется QTableWidget), этот метод нужно переопределить, э.з. в классе наследнике QTableWidget нужно сделать свою реализацию mousePressEvent
Записан

HTTP Error 404 - File or directory not found.
stringer2008
Новенький


Репутация: +1/-0
Offline Offline

Сообщений: 5


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #4 : 07 Август 2008, 11:50:54 »

А как это сделать, если главное окно сделано в Qt Designer?
Записан
maxposedon
Настоящий гродненец
****

Репутация: +26/-0
Offline Offline

Сообщений: 696


empty

Просмотр профиля
« Ответ #5 : 07 Август 2008, 12:41:12 »

Цитировать
А как это сделать, если главное окно сделано в Qt Designer?
Запусти наконец assistant и почитать документацию. "Qt Designer Manual".
Записан
stringer2008
Новенький


Репутация: +1/-0
Offline Offline

Сообщений: 5


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #6 : 10 Август 2008, 14:14:44 »

Все говорят
Цитировать
Запусти наконец assistant и почитать документацию. "Qt Designer Manual".
, а ты возьми и объясни!
Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #7 : 10 Август 2008, 18:13:09 »

Кликаешь по своему QTableWidget правай клавишей, в выпадающем меню выбираешь Promoted widget, а дальше сам думай...
« Последнее редактирование: 10 Август 2008, 18:13:50 от coolasm » Записан

HTTP Error 404 - File or directory not found.
stringer2008
Новенький


Репутация: +1/-0
Offline Offline

Сообщений: 5


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #8 : 15 Август 2008, 19:04:59 »

Ты угадал, я именно так и сделал, но дополнительный файл (header-файл с кодом класса, основанного на QTableWidget) не генерируется. Насколько я знаю, такие вещи должны делаться автоматически. Или я не прав???
« Последнее редактирование: 15 Август 2008, 19:05:48 от stringer2008 » Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #9 : 15 Август 2008, 22:53:28 »

ты не прав, его нужно делать ручками (Qt Designer), знаю что не удобно, но факт, и класс тоже ручками делать придется
Записан

HTTP Error 404 - File or directory not found.
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2025, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,121 секунд. Запросов: 19.