Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Evgen8
2 / 2 / 2
Регистрация: 24.05.2013
Сообщений: 279
#1

Где Qt Creator хранит строки соединения слотов с сигналами ? - C++ Qt

12.10.2017, 21:12. Просмотров 169. Ответов 7
Метки нет (Все метки)

Можно вручную добавить слот и соеденить его с сигналом виджета. А можно в Qt Creator поместить кнопочку на mainwindow.ui и выбрав пункт Got to slot создать слот, который уже привязан к сигналу кнопки
Ну а где, собственно говоря, Creator помещает строчку подключения ?
C++ (Qt)
1
connect(ui->lineEdit_newID, &QLineEdit::textEdited, this, &MainWindow::on_lineEdit_newID_textEdited);

http://www.cyberforum.ru/qt/thread2044103.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2017, 21:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Где Qt Creator хранит строки соединения слотов с сигналами ? (C++ Qt):

Qt5 новый метод соединения сигналов и слотов
Вот здесь в пункте "new connection syntax" написано что в 5-ой версии...

Где достать qt creator
Народ такая проблема пользовался 30 дней бесплатно qt creator, но теперь надо...

Запуск программы на компютере где нет Qt Creator (ошибка 0xc0150002)
Выпустил я программу, собрал все *.dll и у меня программа нормально работает....

Клиент подключается к серверу, List хранит подключенные соединения. Почему они зациклены
Есть Главный и ClientConnection класс. public List<ClientConnection>...

Где Windows 7 хранит обновления?
Обновил window 7 с помощью Центр обновления Windows. Вопрос! может кто знает?...

7
TRam_
зомбяк
595 / 600 / 190
Регистрация: 14.05.2017
Сообщений: 2,021
12.10.2017, 23:06 #2
Лучший ответ Сообщение было отмечено Evgen8 как решение

Решение

Evgen8, Creator ничего никуда не помещает. Вызывается void QMetaObject::connectSlotsByName(QObject *object) (http://doc.qt.io/qt-5/qmetaobject.html#connectSlotsByName) которая имена QObject'ов пропарсит и автоматически подключит нужные слоты (по именам).

Генерируется uic'ом в виде строки в ui_***.h как:
C++ (Qt)
1
QMetaObject::connectSlotsByName(MainWindow);
1
newbie_1
Заблокирован
12.10.2017, 23:10 #3
Там есть какой - то текстовой метафайл или moc или ещё какой-то в каталоге сборке вроде, не помню сейчас, искать - лень, т.к. на виджетах не пишу. Поищи, в нём в стиле XML есть то, что ты ищешь, но изменение этого файла тебе ничего не даст, т.к. он автоматом генерится и при следующей сборке будет переписан.
0
TRam_
зомбяк
595 / 600 / 190
Регистрация: 14.05.2017
Сообщений: 2,021
12.10.2017, 23:29 #4
newbie_1, неправда. В moc_ - файле есть только объявленные слоты и сигналы. Соединение их производится "на лету", уже во время исполнения программы. В частности в функциях QObject::connect или QMetaObject::connectSlotsByName
0
newbie_1
Заблокирован
12.10.2017, 23:46 #5
Цитата Сообщение от TRam_ Посмотреть сообщение
неправда
Правда правда Я говорил "возможно в moc или ещё где", я не уточнял где именно, просто помню, что где-то было. Заставил меня всё таки создать архаичный проект на виджетах и посмотреть, где конфигурация автосгенерённого барахла лежит, в общем в папке со сборкой в mainwindow.ui, там и сигналы и ещё куча всего..
0
TRam_
зомбяк
595 / 600 / 190
Регистрация: 14.05.2017
Сообщений: 2,021
13.10.2017, 00:16 #6
В дебаге момент этого коннекта выглядит так:

C++ (Qt)
1
QMetaObjectPrivate::connect(co, sigIndex, smeta, o, i)
Могу задебажить глубже, но смысла особого нет - желающие могут самостоятельно собрать Qt с дебагом и проделать (и изучить) то же самое самостоятельно.
0
Миниатюры
Где Qt Creator хранит строки соединения слотов с сигналами ?  
TRam_
зомбяк
595 / 600 / 190
Регистрация: 14.05.2017
Сообщений: 2,021
13.10.2017, 00:30 #7
Цитата Сообщение от newbie_1 Посмотреть сообщение
общем в папке со сборкой в mainwindow.ui, там и сигналы и ещё куча всего..
зависит от того, как и чем и где вызываешь uic и moc. В моём случае это директория, в которую компилируется исполняемый файл. А под Qt-add-in это например подпапка "GeneratedFiles" с подпапками "Debug" и "Release" для moc'ов. В общем где настроено, туда и сгенерируются.
0
Evgen8
2 / 2 / 2
Регистрация: 24.05.2013
Сообщений: 279
13.10.2017, 00:49  [ТС] #8
так званый AutoConnect) всем спасибо
0
13.10.2017, 00:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2017, 00:49
Привет! Вот еще темы с решениями:

TheBat где хранит настройки
Переустановил систему (винт стал глючить). Заново устанавливаю...

FarManager где хранит настройки
Не нашел ветки прикладной софт, пишу сюда. Модератор не ругай меня ...

Где хранит базы ДрВеб
Всем привет! Поставил 6.0 при обновлении появилась папка DrWeb/Temp. После...

Где WordPress хранит картинки?
Подскажите плиз где wordpress хранит картинки загруженные в разделе Media? в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru