22 Q_DECLARE_PRIVATE(QShortcut)
23 Q_PROPERTY(QKeySequence key READ key WRITE setKey)
24 Q_PROPERTY(
bool enabled READ isEnabled WRITE setEnabled)
25 Q_PROPERTY(
bool autoRepeat READ autoRepeat WRITE setAutoRepeat)
26 Q_PROPERTY(Qt::ShortcutContext context READ context WRITE setContext)
28 explicit QShortcut(QObject *parent);
29 explicit QShortcut(
const QKeySequence& key, QObject *parent,
30 const char *member =
nullptr,
const char *ambiguousMember =
nullptr,
31 Qt::ShortcutContext context = Qt::WindowShortcut);
32 explicit QShortcut(QKeySequence::StandardKey key, QObject *parent,
33 const char *member =
nullptr,
const char *ambiguousMember =
nullptr,
34 Qt::ShortcutContext context = Qt::WindowShortcut);
37 template<
typename Functor>
38 QShortcut(
const QKeySequence &key, QObject *parent,
40 Qt::ShortcutContext shortcutContext = Qt::WindowShortcut);
41 template<
typename Functor>
42 QShortcut(
const QKeySequence &key, QObject *parent,
43 const QObject *context, Functor functor,
44 Qt::ShortcutContext shortcutContext = Qt::WindowShortcut);
45 template<
typename Functor,
typename FunctorAmbiguous>
46 QShortcut(
const QKeySequence &key, QObject *parent,
47 const QObject *context1, Functor functor,
48 FunctorAmbiguous functorAmbiguous,
49 Qt::ShortcutContext shortcutContext = Qt::WindowShortcut);
50 template<
typename Functor,
typename FunctorAmbiguous>
51 QShortcut(
const QKeySequence &key, QObject *parent,
52 const QObject *context1, Functor functor,
53 const QObject *context2, FunctorAmbiguous functorAmbiguous,
54 Qt::ShortcutContext shortcutContext = Qt::WindowShortcut);
56 template<
typename Functor>
57 QShortcut(QKeySequence::StandardKey key, QObject *parent,
59 Qt::ShortcutContext shortcutContext = Qt::WindowShortcut);
60 template<
typename Functor>
61 QShortcut(QKeySequence::StandardKey key, QObject *parent,
62 const QObject *context, Functor functor,
63 Qt::ShortcutContext shortcutContext = Qt::WindowShortcut);
64 template<
typename Functor,
typename FunctorAmbiguous>
65 QShortcut(QKeySequence::StandardKey key, QObject *parent,
66 const QObject *context1, Functor functor,
67 FunctorAmbiguous functorAmbiguous,
68 Qt::ShortcutContext shortcutContext = Qt::WindowShortcut);
69 template<
typename Functor,
typename FunctorAmbiguous>
70 QShortcut(QKeySequence::StandardKey key, QObject *parent,
71 const QObject *context1, Functor functor,
72 const QObject *context2, FunctorAmbiguous functorAmbiguous,
73 Qt::ShortcutContext shortcutContext = Qt::WindowShortcut);
75#ifndef QT_NO_CONTEXTLESS_CONNECT
76 template<
typename Func1>
77 QShortcut(
const QKeySequence &key, QObject *parent,
79 Qt::ShortcutContext context = Qt::WindowShortcut)
80 : QShortcut(key, parent,
static_cast<
const char*>(
nullptr),
static_cast<
const char*>(
nullptr), context)
82 connect(
this, &QShortcut::activated, std::move(slot1));
85 template<
class Obj1,
typename Func1>
86 QShortcut(
const QKeySequence &key, QObject *parent,
87 const Obj1 *object1, Func1 slot1,
88 Qt::ShortcutContext context = Qt::WindowShortcut,
89 typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0)
90 : QShortcut(key, parent,
static_cast<
const char*>(
nullptr),
static_cast<
const char*>(
nullptr), context)
92 connect(
this, &QShortcut::activated, object1, std::move(slot1));
94 template<
class Obj1,
typename Func1,
typename Func2>
95 QShortcut(
const QKeySequence &key, QObject *parent,
96 const Obj1 *object1, Func1 slot1, Func2 slot2,
97 Qt::ShortcutContext context = Qt::WindowShortcut,
98 typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0)
99 : QShortcut(key, parent,
static_cast<
const char*>(
nullptr),
static_cast<
const char*>(
nullptr), context)
101 connect(
this, &QShortcut::activated, object1, std::move(slot1));
102 connect(
this, &QShortcut::activatedAmbiguously, object1, std::move(slot2));
104 template<
class Obj1,
typename Func1,
class Obj2,
typename Func2>
105 QShortcut(
const QKeySequence &key, QObject *parent,
106 const Obj1 *object1, Func1 slot1,
107 const Obj2 *object2, Func2 slot2,
108 Qt::ShortcutContext context = Qt::WindowShortcut,
109 typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0,
110 typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj2*>::Value>::type* = 0)
111 : QShortcut(key, parent,
static_cast<
const char*>(
nullptr),
static_cast<
const char*>(
nullptr), context)
113 connect(
this, &QShortcut::activated, object1, std::move(slot1));
114 connect(
this, &QShortcut::activatedAmbiguously, object2, std::move(slot2));
117 template<
typename Func1>
118 QShortcut(QKeySequence::StandardKey key, QObject *parent,
120 Qt::ShortcutContext context = Qt::WindowShortcut)
121 : QShortcut(key, parent,
static_cast<
const char*>(
nullptr),
static_cast<
const char*>(
nullptr), context)
123 connect(
this, &QShortcut::activated, std::move(slot1));
125 template<
class Obj1,
typename Func1>
126 QShortcut(QKeySequence::StandardKey key, QObject *parent,
127 const Obj1 *object1, Func1 slot1,
128 Qt::ShortcutContext context = Qt::WindowShortcut,
129 typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0)
130 : QShortcut(key, parent,
static_cast<
const char*>(
nullptr),
static_cast<
const char*>(
nullptr), context)
132 connect(
this, &QShortcut::activated, object1, std::move(slot1));
134 template<
class Obj1,
typename Func1,
typename Func2>
135 QShortcut(QKeySequence::StandardKey key, QObject *parent,
136 const Obj1 *object1, Func1 slot1, Func2 slot2,
137 Qt::ShortcutContext context = Qt::WindowShortcut,
138 typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0)
139 : QShortcut(key, parent,
static_cast<
const char*>(
nullptr),
static_cast<
const char*>(
nullptr), context)
141 connect(
this, &QShortcut::activated, object1, std::move(slot1));
142 connect(
this, &QShortcut::activatedAmbiguously, object1, std::move(slot2));
144 template<
class Obj1,
typename Func1,
class Obj2,
typename Func2>
145 QShortcut(QKeySequence::StandardKey key, QObject *parent,
146 const Obj1 *object1, Func1 slot1,
147 const Obj2 *object2, Func2 slot2,
148 Qt::ShortcutContext context = Qt::WindowShortcut,
149 typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0,
150 typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj2*>::Value>::type* = 0)
151 : QShortcut(key, parent,
static_cast<
const char*>(
nullptr),
static_cast<
const char*>(
nullptr), context)
153 connect(
this, &QShortcut::activated, object1, std::move(slot1));
154 connect(
this, &QShortcut::activatedAmbiguously, object2, std::move(slot2));
160 void setKey(
const QKeySequence& key);
161 QKeySequence key()
const;
162 void setKeys(QKeySequence::StandardKey key);
163 void setKeys(
const QList<QKeySequence> &keys);
164 QList<QKeySequence> keys()
const;
166 void setEnabled(
bool enable);
167 bool isEnabled()
const;
169 void setContext(Qt::ShortcutContext context);
170 Qt::ShortcutContext context()
const;
172 void setAutoRepeat(
bool on);
173 bool autoRepeat()
const;
175#if QT_DEPRECATED_SINCE(6
,0
)
176 QT_DEPRECATED_VERSION_6_0
int id()
const;
179 void setWhatsThis(
const QString &text);
180 QString whatsThis()
const;
182#if QT_DEPRECATED_SINCE(6
,0
)
184 QWidget *parentWidget()
const;
186 template<
typename T = QWidget*>
187 QT_DEPRECATED_VERSION_X_6_0(
"Use parent() and qobject_cast instead")
188 inline T parentWidget()
const
189 {
return static_cast<T>(QObject::parent()); }
195 void activatedAmbiguously();
198 bool event(QEvent *e) override;