Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qkeysequence.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QKEYSEQUENCE_H
5#define QKEYSEQUENCE_H
6
7#include <QtGui/qtguiglobal.h>
8#include <QtCore/qstring.h>
9#include <QtCore/qobjectdefs.h>
10
12
14
15class QKeySequence;
16
17/*****************************************************************************
18 QKeySequence stream functions
19 *****************************************************************************/
20#if !defined(QT_NO_DATASTREAM) || defined(Q_QDOC)
21Q_GUI_EXPORT QDataStream &operator<<(QDataStream &in, const QKeySequence &ks);
23#endif
24
25#if defined(Q_QDOC)
27#endif
28
29class QVariant;
31
32Q_GUI_EXPORT Q_DECL_PURE_FUNCTION size_t qHash(const QKeySequence &key, size_t seed = 0) noexcept;
33
34class Q_GUI_EXPORT QKeySequence
35{
37
38public:
110 Cancel
111 };
112 Q_ENUM(StandardKey)
113
116 PortableText
117 };
118
119 QKeySequence();
120 QKeySequence(const QString &key, SequenceFormat format = NativeText);
121 QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0);
126 QKeySequence(const QKeySequence &ks);
127 QKeySequence(StandardKey key);
129
130 int count() const;
131 bool isEmpty() const;
132
136 ExactMatch
137 };
138
139 QString toString(SequenceFormat format = PortableText) const;
140 static QKeySequence fromString(const QString &str, SequenceFormat format = PortableText);
141
142 static QList<QKeySequence> listFromString(const QString &str, SequenceFormat format = PortableText);
143 static QString listToString(const QList<QKeySequence> &list, SequenceFormat format = PortableText);
144
145 SequenceMatch matches(const QKeySequence &seq) const;
146 static QKeySequence mnemonic(const QString &text);
147 static QList<QKeySequence> keyBindings(StandardKey key);
148
149 operator QVariant() const;
150 QKeyCombination operator[](uint i) const;
151 QKeySequence &operator=(const QKeySequence &other);
152 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QKeySequence)
153 void swap(QKeySequence &other) noexcept { qt_ptr_swap(d, other.d); }
154
155 bool operator==(const QKeySequence &other) const;
156 inline bool operator!= (const QKeySequence &other) const
157 { return !(*this == other); }
158 bool operator< (const QKeySequence &ks) const;
159 inline bool operator> (const QKeySequence &other) const
160 { return other < *this; }
161 inline bool operator<= (const QKeySequence &other) const
162 { return !(other < *this); }
163 inline bool operator>= (const QKeySequence &other) const
164 { return !(*this < other); }
165
166 bool isDetached() const;
167private:
168 static int decodeString(const QString &ks);
169 static QString encodeString(int key);
170 int assign(const QString &str);
171 int assign(const QString &str, SequenceFormat format);
172 void setKey(QKeyCombination key, int index);
173
175
176 friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &in, const QKeySequence &ks);
177 friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &in, QKeySequence &ks);
178 friend Q_GUI_EXPORT size_t qHash(const QKeySequence &key, size_t seed) noexcept;
179 friend class QShortcutMap;
180 friend class QShortcut;
181
182public:
184 inline DataPtr &data_ptr() { return d; }
185};
186
187Q_DECLARE_SHARED(QKeySequence)
188
189#if !defined(QT_NO_DEBUG_STREAM) || defined(Q_QDOC)
190Q_GUI_EXPORT QDebug operator<<(QDebug, const QKeySequence &);
191#endif
192
194
195#endif // QKEYSEQUENCE_H
\inmodule QtCore\reentrant
Definition qdatastream.h:30
\inmodule QtCore
static constexpr QKeyCombination fromCombined(int combined)
static QString encodeString(int key, QKeySequence::SequenceFormat format)
The QKeySequence class encapsulates a key sequence as used by shortcuts.
DataPtr & data_ptr()
SequenceMatch
\value NoMatch The key sequences are different; not even partially matching.
QKeySequencePrivate * DataPtr
SequenceFormat
\value NativeText The key sequence as a platform specific string.
Definition qlist.h:74
The QShortcut class is used to create keyboard shortcuts.
Definition qshortcut.h:19
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
\inmodule QtCore
Definition qvariant.h:64
QString str
[2]
QString text
Combined button and popup list for selecting options.
#define Q_DECL_PURE_FUNCTION
constexpr bool operator!=(const timespec &t1, const timespec &t2)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
void Q_GUI_EXPORT qt_set_sequence_auto_mnemonic(bool b)
Q_GUI_EXPORT QDataStream & operator<<(QDataStream &in, const QKeySequence &ks)
Q_GUI_EXPORT Q_DECL_PURE_FUNCTION size_t qHash(const QKeySequence &key, size_t seed=0) noexcept
Q_GUI_EXPORT QDataStream & operator>>(QDataStream &out, QKeySequence &ks)
static bool matches(const QJsonObject &object, const QString &osName, const QVersionNumber &kernelVersion, const QString &osRelease, const QOpenGLConfig::Gpu &gpu)
Definition qopengl.cpp:270
GLboolean GLboolean GLboolean b
GLuint64 key
GLuint index
[2]
GLenum GLenum GLsizei count
GLint GLsizei GLsizei GLenum format
GLuint in
bool operator>(const QPoint &a, const QPoint &b)
static bool fromString(const QMetaObject *mo, QString s, Allocate &&allocate)
static Q_CONSTINIT QBasicAtomicInteger< unsigned > seed
Definition qrandom.cpp:196
bool operator==(const QRandomGenerator &rng1, const QRandomGenerator &rng2)
Definition qrandom.cpp:1219
static bool operator<(const QSettingsIniKey &k1, const QSettingsIniKey &k2)
constexpr void qt_ptr_swap(T *&lhs, T *&rhs) noexcept
Definition qswap.h:43
#define k1
#define QT_REQUIRE_CONFIG(feature)
#define Q_ENUM(x)
#define Q_GADGET
unsigned int uint
Definition qtypes.h:29
bool operator<=(const QUuid &lhs, const QUuid &rhs) noexcept
Definition quuid.h:272
bool operator>=(const QUuid &lhs, const QUuid &rhs) noexcept
Definition quuid.h:274
QList< int > list
[14]
QTextStream out(stdout)
[7]
QString decodeString(QCborStreamReader &reader)
[26]
QSharedPointer< T > other(t)
[5]
setKey(0)
[0]
char * toString(const MyType &t)
[31]