1 / 1 / 1
Регистрация: 15.03.2016
Сообщений: 47
|
|||||||||||
1 | |||||||||||
Не получается подцепить слот31.03.2017, 10:42. Показов 1084. Ответов 6
Метки нет (Все метки)
Добрый день. Создаю класс Wizard, наследующий класс QWizard, который является наследником QObject:
Заголовочный файл
.cpp файл
Объект подобного диалогового окна создается и вызывается внутри MainWindow, хотя вряд ли это существенно. В результате, программа компилируется и запускается, но с вот такими замечаниями: QObject::connect: No such slot Wizard::change_value_instrument(1) in ..\lab_3\wizard.cpp:51 QObject::connect: No such slot Wizard::change_value_instrument(2) in ..\lab_3\wizard.cpp:52 QObject::connect: No such slot Wizard::change_value_instrument(3) in ..\lab_3\wizard.cpp:53 QObject::connect: No such slot Wizard::change_value_instrument(4) in ..\lab_3\wizard.cpp:54 QObject::connect: No such slot Wizard::change_value_color(1) in ..\lab_3\wizard.cpp:57 QObject::connect: No such slot Wizard::change_value_color(2) in ..\lab_3\wizard.cpp:58 QObject::connect: No such slot Wizard::change_value_color(3) in ..\lab_3\wizard.cpp:59 QObject::connect: No such slot Wizard::change_value_color(4) in ..\lab_3\wizard.cpp:60 Как видно из исходников, макрос Q_OBJECT в начале объявления класса прописать я не забыл, сам класс, пусть и не прямо, но наследуется от QObject. Не подскажите, чем вылечить эту беду?
0
|
31.03.2017, 10:42 | |
Ответы с готовыми решениями:
6
Виртуальный слот vs слот, вызывающий виртуальную функцию Не получается подцепить Dll для работы с LPT портом Подцепить dll c++ Подцепить скрипт к базе |
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
|
||||||||||||||||
31.03.2017, 10:59 | 2 | |||||||||||||||
Сообщение было отмечено HepoH как решение
Решение
QObject:: перед connect можно опустить.
Qt::AutoConnection тоже можно опустить. Последний параметр имеет значение по-умолчанию. И оно как раз Qt::AutoConnection. Ты не можешь указывать значения переменных в сигналах и слота. Только типы. Например
Ну и наконец - нельзя соединять сигнал со слотом, который принимает тип, отличный от типа параметра сигнала
1
|
1 / 1 / 1
Регистрация: 15.03.2016
Сообщений: 47
|
|
31.03.2017, 11:11 [ТС] | 3 |
Горбаг, когда я опускаю последний параметр при соединении, синтаксис подсвечивается ошибкой, якобы я что-то забыл перед скобкой, поэтому я и написал туда значение по-умолчанию.
Насчет последнего: иными словами, если я использую сигнал clicked(bool), то я не могу его соединить со слотом, который принимает int, я правильно понял? И еще, а как мне тогда определить, какое значение установить? Вообще, я хочу сделать так: создается диалоговое окно мастера с двумя страницами: на каждой из них по 4 радиокнопки. Я хочу, чтобы по закрытию окна я мог определить, какая из кнопок была выбрана на каждой из страниц. Сейчас я думал сделать так: создаю две интовые переменные, указателями которых я инициализирую поля диалогового окна. Далее, я создаю слот, который меняет значение по адресу, на который ссылает указатель. Таким образом, я бы запомнил что было выбрано в окне.
0
|
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
|
|||||||||||
31.03.2017, 11:38 | 4 | ||||||||||
HepoH, запятую в конце не ставь и ругаться не будет. Там должно быть 4 параметра. Я же привел примеры.
Если так, то
1
|
1 / 1 / 1
Регистрация: 15.03.2016
Сообщений: 47
|
|
31.03.2017, 11:42 [ТС] | 5 |
Горбаг, Запятую я не ставил. Однако, когда я перестал пытаться передать в слот свой параметр, подобная проблема исчезла.
За пример благодарю (сам пока просто создал 8 слотов, различающихся только тем, какое значение установить).
0
|
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
|
|
31.03.2017, 11:53 | 6 |
Всем кнопкам setCheckable(true) в начале еще установить надо. Забыл совсем.
0
|
683 / 458 / 160
Регистрация: 01.10.2015
Сообщений: 1,264
|
|
31.03.2017, 12:22 | 7 |
Горбаг, лучше использовать
QButtonGroup , не придется вручную управлять состоянием членов группы
1
|
31.03.2017, 12:22 | |
31.03.2017, 12:22 | |
Помогаю со студенческими работами здесь
7
Подцепить внешние данные Подцепить игровой объект Не могу подцепить базу Подцепить новую бд, и мемо Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |