Russian Qt Forum
Ноябрь 24, 2024, 08:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Не выполняется присоединенный слот  (Прочитано 150761 раз)
Daywer
Гость
« Ответ #15 : Апрель 03, 2017, 17:22 »

Код
C++ (Qt)
connect(tablewidget, &QTableWidget::cellClicked, [&]{qDebug() << "lambda";});
 
Так работает.
Какая-то проблема, кажется, связанная с родителями. Как-то странно у вас связь настроена.

 Да. lambda  в консоль выводится. С реальной функцией нет.  Странно связь настроена..а как надо?
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #16 : Апрель 03, 2017, 17:56 »

Попробуйте наследовать field от QWidget, таблицу вкладывать в него и родителем таблицы делать именно его.
Скажу сразу - предположение пальцем в небо
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #17 : Апрель 03, 2017, 18:31 »

А ничего, что ваш слот возвращает значение?
Записан
Daywer
Гость
« Ответ #18 : Апрель 03, 2017, 18:57 »

А ничего, что ваш слот возвращает значение?
Даже если будет void ничего не измениться. Перепробовал уже.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #19 : Апрель 03, 2017, 19:54 »

Эх, вы, проглядели. А я увидел. Улыбающийся

Daywer, у тебя battlefield на стеке создан, он умирает при выходе из конструктора MainWindow, вот поэтому и не вызывается слот.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Daywer
Гость
« Ответ #20 : Апрель 03, 2017, 21:56 »

Эх, вы, проглядели. А я увидел. Улыбающийся

Daywer, у тебя battlefield на стеке создан, он умирает при выходе из конструктора MainWindow, вот поэтому и не вызывается слот.

В отладке то не умирает вроде....И где его создавать же тогда.
Записан
Daywer
Гость
« Ответ #21 : Апрель 03, 2017, 21:59 »

Попробуйте наследовать field от QWidget, таблицу вкладывать в него и родителем таблицы делать именно его.
Скажу сразу - предположение пальцем в небо

Надо попробовать. Но что-то поле рождается вне окна и пропадает тут же. Пока этот вариант тоже пробую.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #22 : Апрель 03, 2017, 22:09 »

Эх, вы, проглядели. А я увидел. Улыбающийся

Daywer, у тебя battlefield на стеке создан, он умирает при выходе из конструктора MainWindow, вот поэтому и не вызывается слот.

В отладке то не умирает вроде....И где его создавать же тогда.
Сделать мембером класса MainWindow.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Daywer
Гость
« Ответ #23 : Апрель 03, 2017, 22:32 »

Эх, вы, проглядели. А я увидел. Улыбающийся

Daywer, у тебя battlefield на стеке создан, он умирает при выходе из конструктора MainWindow, вот поэтому и не вызывается слот.

В отладке то не умирает вроде....И где его создавать же тогда.
Сделать мембером класса MainWindow.

Через зачленивание работает. Преогромнейшее спасибо. Ошибку понял переварить осталось в уме все это
Хотел чтоб код в классах таился и не толкать лишнее в mainwindow, но.........
Наверное надо было сделать battlefield наследником QTableWidget изначально.
« Последнее редактирование: Апрель 03, 2017, 22:35 от Daywer » Записан
Daywer
Гость
« Ответ #24 : Апрель 04, 2017, 08:01 »

Хочу сказать спасибо участникам этого форума. Помогли и никто не послал даже. Добрые отзывчивые люди.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.076 секунд. Запросов: 23.