Size: a a a

2020 June 08

J

Jahrley in Qt
А слот можно передавать параметром? Какой у него тип?
источник

SK

Stas Koynov in Qt
Jahrley
А слот можно передавать параметром? Какой у него тип?
слот это метод!
источник

ヽS

ヽ(´ー`)ノ Kirill Smirn... in Qt
источник

ヽS

ヽ(´ー`)ノ Kirill Smirn... in Qt
копать тут
источник

J

Jahrley in Qt
Stas Koynov
слот это метод!
Т.е. можно просто объявить параметр std::function соответствующей сигнатуры и передавать в него метод?
источник

AT

Anatoly Tomilov in Qt
Jahrley
Т.е. можно просто объявить параметр std::function соответствующей сигнатуры и передавать в него метод?
можно, но зачем этот тебе?
источник

J

Jahrley in Qt
У меня есть класс, содержащий главное окно и его лэяуты. Хочется к QApplication::quit() приконнектить нажатие кнопки, но не сохраняя ссылку на весь QApp, а ограничиться предоставлением доступа к одному слоту.
источник

ヽS

ヽ(´ー`)ノ Kirill Smirn... in Qt
qApp()  вернёт тебе указатель на твой аппликейшен
источник

AT

Anatoly Tomilov in Qt
Jahrley
У меня есть класс, содержащий главное окно и его лэяуты. Хочется к QApplication::quit() приконнектить нажатие кнопки, но не сохраняя ссылку на весь QApp, а ограничиться предоставлением доступа к одному слоту.
что значит "весь" QApp?
источник

AT

Anatoly Tomilov in Qt
ヽ(´ー`)ノ Kirill Smirnov
qApp()  вернёт тебе указатель на твой аппликейшен
qApp
источник

ヽS

ヽ(´ー`)ノ Kirill Smirn... in Qt
ну да qApp  ))
источник

J

Jahrley in Qt
Anatoly Tomilov
что значит "весь" QApp?
параметр констреф/указатель на QApplication
источник

J

Jahrley in Qt
ヽ(´ー`)ノ Kirill Smirnov
qApp()  вернёт тебе указатель на твой аппликейшен
Т.е. просто обращаться к статическому методу quit()?
источник

ヽS

ヽ(´ー`)ノ Kirill Smirn... in Qt
qApp->quit()
источник

ヽS

ヽ(´ー`)ノ Kirill Smirn... in Qt
можно и так да
источник

AT

Anatoly Tomilov in Qt
вот смотри. Экземпляр класса (QApplication) — это код (методы) + данные (поля). Ты хочешь взять просто код. И с каким this ты его хочешь использовать?
источник

ヽS

ヽ(´ー`)ノ Kirill Smirn... in Qt
Jahrley
Т.е. просто обращаться к статическому методу quit()?
источник

AT

Anatoly Tomilov in Qt
ヽ(´ー`)ノ Kirill Smirnov
можно и так да
не всегда можно. Вот так надёжней всего: QTimer::singleShot(0, qApp, &QCoreApplication::quit); или QTimer::singleShot(0, qApp, [] { qApp->exit(EXIT_FAILURE); });, если нужен отличный от нуля код
источник

J

Jahrley in Qt
Спасибо
источник

AT

Anatoly Tomilov in Qt
если нужно "сохранить слот", то Qt-way — это использовать QMetaObject и QMetaMethod
источник