crossplatform.ru

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

4 страниц V  < 1 2 3 4 >  
Ответить в данную темуНачать новую тему
> сигналы и слоты, передача указателя на мой объект
Litkevich Yuriy
  опции профиля:
сообщение 18.2.2009, 19:57
Сообщение #11


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

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

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




Репутация:   94  


Цитата(kuler @ 18.2.2009, 22:00) *
а сигналы и слоты наследуются?
открой описание почти лбого класса:
Цитата
Сигналы
void itemChanged ( QStandardItem * item )
14 сигналов, унаследованных от QAbstractItemModel
1 сигнал, унаследованный от QObject
Цитата
Открытые слоты
void showMenu ()
5 public slots inherited from QAbstractButton
19 открытых слотов, унаследованных от QWidget
1 открытый слот, унаследованный от QObject
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 18.2.2009, 20:00
Сообщение #12


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

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




Репутация:   -1  


просто хотелось в базовом классе законнектить сигнал со слотом, а в потомках только слот переопределять и чтобы работало
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.2.2009, 20:05
Сообщение #13


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

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

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




Репутация:   94  


Цитата(kuler @ 18.2.2009, 23:00) *
просто хотелось в базовом классе законнектить сигнал со слотом, а в потомках только слот переопределять и чтобы работало
я думаю ничто этому не мешает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 18.2.2009, 20:25
Сообщение #14


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

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




Репутация:   -1  


ну у меня не вызывается (слот не срабатывает), а в базовом срабатывает
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 18.2.2009, 20:40
Сообщение #15


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Цитата(kuler @ 18.2.2009, 20:25) *
ну у меня не вызывается (слот не срабатывает), а в базовом срабатывает

А ты объявил слоты как virtual?

У QAbstractItemView идет внутренний коннект на виртуальный слот reset(), который можно переопределить. Но коннект этот цепляется в момент вызова setModel(). Для эксперимента попробуй унаследоваться от QTableView/QListView/QTreeView, переопределить reset() в своем классе, прописать в нем отладочное сообщение, а потом вызвать setModel().
Затем придется унаследоваться от QAbstractItemModel, чтобы вызвать protected метод reset() :)

Сообщение отредактировал SABROG - 18.2.2009, 20:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Константин
  опции профиля:
сообщение 18.2.2009, 21:49
Сообщение #16


Студент
*

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

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




Репутация:   1  


мужики, чего хернёй маетесь? :)
слоты - это обычные методы, помеченные макросом Q_SLOTS (или slots) для мока. т.о. виртуальный слот можно переопределить и он будет отрабатывать при эмите свазанного сигнала - никаких тонкостей. если слот невиртуальный, догадайтесь сами что и как будет работать )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 19.2.2009, 11:19
Сообщение #17


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

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




Репутация:   -1  


оказалось имеет значение порядок наследования, ибо у меня класс дочерний наследовался еще и от qmainwindow. Это конечно тупо и врядли соответствует стандарту.

Сообщение отредактировал kuler - 19.2.2009, 11:20
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.2.2009, 15:07
Сообщение #18


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

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

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




Репутация:   94  


Цитата(kuler @ 19.2.2009, 14:19) *
ибо у меня класс дочерний наследовался еще и от qmainwindow
в Qt, можно наследоватся только от одного наследника QObject и он должен быть указан первым. Т.е., например,
нельзя наследоватся от QPushButton и QWidget, т.к. они оба наследники QObject.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 4.3.2009, 11:41
Сообщение #19


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

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




Репутация:   -1  


вот такой вопрос - на графике появляется контекстное меню, в котором экшены с главной формы, при этом при щелканье на пункте в обработчике экшена QObject::sender() дает 0, а хотелось бы узнать от какого графика приходит событие (ибо графиков много,а обработчик один)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 4.3.2009, 12:08
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Давай минимальный компилируемый пример :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 30.11.2024, 6:53