Форум программистов, компьютерный форум, киберфорум
Наши страницы

Qt

Войти
Регистрация
Восстановить пароль
 
Evgen8
2 / 2 / 1
Регистрация: 24.05.2013
Сообщений: 279
#1

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

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

Можно вручную добавить слот и соеденить его с сигналом виджета. А можно в Qt Creator поместить кнопочку на mainwindow.ui и выбрав пункт Got to slot создать слот, который уже привязан к сигналу кнопки
Ну а где, собственно говоря, Creator помещает строчку подключения ?
C++ (Qt)
1
connect(ui->lineEdit_newID, &QLineEdit::textEdited, this, &MainWindow::on_lineEdit_newID_textEdited);
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2017, 21:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Где Qt Creator хранит строки соединения слотов с сигналами ? (C++ Qt):

Автоматическое добавление слотов из формы Qt Creator, в *.h и *.cpp файлы - C++ Qt
Добрый день. Подскажите, пожалуйста, почему, когда я создаю в Qt Creator форму (ui файл), в которой создаю связи между кнопками и...

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

Где достать qt creator - C++ Qt
Народ такая проблема пользовался 30 дней бесплатно qt creator, но теперь надо заплатить 249$. Вопрос такой где можно достать его бесплатно...

Запуск программы на компютере где нет Qt Creator (ошибка 0xc0150002) - C++ Qt
Выпустил я программу, собрал все *.dll и у меня программа нормально работает. Скинул я её друзьям, и у них выбивает ошибка "Ошибка при...

Клиент подключается к серверу, List хранит подключенные соединения. Почему они зациклены - C#
Есть Главный и ClientConnection класс. public List<ClientConnection> Clients = new List<ClientConnection>(); ClientConnection...

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

7
TRam_
307 / 312 / 84
Регистрация: 14.05.2017
Сообщений: 1,132
12.10.2017, 23:06 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
79 / 28 / 10
Регистрация: 31.08.2017
Сообщений: 236
12.10.2017, 23:10 #3
Там есть какой - то текстовой метафайл или moc или ещё какой-то в каталоге сборке вроде, не помню сейчас, искать - лень, т.к. на виджетах не пишу. Поищи, в нём в стиле XML есть то, что ты ищешь, но изменение этого файла тебе ничего не даст, т.к. он автоматом генерится и при следующей сборке будет переписан.
0
TRam_
307 / 312 / 84
Регистрация: 14.05.2017
Сообщений: 1,132
12.10.2017, 23:29 #4
newbie_1, неправда. В moc_ - файле есть только объявленные слоты и сигналы. Соединение их производится "на лету", уже во время исполнения программы. В частности в функциях QObject::connect или QMetaObject::connectSlotsByName
0
newbie_1
79 / 28 / 10
Регистрация: 31.08.2017
Сообщений: 236
12.10.2017, 23:46 #5
Цитата Сообщение от TRam_ Посмотреть сообщение
неправда
Правда правда Я говорил "возможно в moc или ещё где", я не уточнял где именно, просто помню, что где-то было. Заставил меня всё таки создать архаичный проект на виджетах и посмотреть, где конфигурация автосгенерённого барахла лежит, в общем в папке со сборкой в mainwindow.ui, там и сигналы и ещё куча всего..
0
TRam_
307 / 312 / 84
Регистрация: 14.05.2017
Сообщений: 1,132
13.10.2017, 00:16 #6
В дебаге момент этого коннекта выглядит так:

C++ (Qt)
1
QMetaObjectPrivate::connect(co, sigIndex, smeta, o, i)
Могу задебажить глубже, но смысла особого нет - желающие могут самостоятельно собрать Qt с дебагом и проделать (и изучить) то же самое самостоятельно.
0
Миниатюры
Где Qt Creator хранит строки соединения слотов с сигналами ?  
TRam_
307 / 312 / 84
Регистрация: 14.05.2017
Сообщений: 1,132
13.10.2017, 00:30 #7
Цитата Сообщение от newbie_1 Посмотреть сообщение
общем в папке со сборкой в mainwindow.ui, там и сигналы и ещё куча всего..
зависит от того, как и чем и где вызываешь uic и moc. В моём случае это директория, в которую компилируется исполняемый файл. А под Qt-add-in это например подпапка "GeneratedFiles" с подпапками "Debug" и "Release" для moc'ов. В общем где настроено, туда и сгенерируются.
0
Evgen8
2 / 2 / 1
Регистрация: 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
Привет! Вот еще темы с ответами:

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

Где программа хранит записи? - C#
Здравствуйте! 1. Помогите пожалуйста мне узнать где программа хранит записи (файл), которые в ней имеются, а именно ФИО, номера и т.п. ...

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

Где программа хранит свою БД? - Программирование Android
Android 4.1.1 Программа работает с sqlite. Установил на внешнюю карту памяти и загрузил в данные в БД. Но я не могу найти саму БД. В...


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

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

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