QKeySequenceEdit Class
QKeySequenceEdit 控件允许输入QKeySequence 。更多内容...
| 标题: | #include <QKeySequenceEdit> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 继承自: | QWidget |
属性
(since 6.4)clearButtonEnabled : bool(since 6.5)finishingKeyCombinations : QList<QKeyCombination>- keySequence : QKeySequence
(since 6.5)maximumSequenceLength : qsizetype
公共函数
| QKeySequenceEdit(QWidget *parent = nullptr) | |
| QKeySequenceEdit(const QKeySequence &keySequence, QWidget *parent = nullptr) | |
| virtual | ~QKeySequenceEdit() |
| QList<QKeyCombination> | finishingKeyCombinations() const |
| bool | isClearButtonEnabled() const |
| QKeySequence | keySequence() const |
| qsizetype | maximumSequenceLength() const |
| void | setClearButtonEnabled(bool enable) |
| void | setFinishingKeyCombinations(const QList<QKeyCombination> &finishingKeyCombinations) |
公共槽位
| void | clear() |
| void | setKeySequence(const QKeySequence &keySequence) |
| void | setMaximumSequenceLength(qsizetype count) |
信号
| void | editingFinished() |
| void | keySequenceChanged(const QKeySequence &keySequence) |
重新实现的受保护函数
| virtual bool | event(QEvent *e) override |
| virtual void | focusOutEvent(QFocusEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | timerEvent(QTimerEvent *e) override |
详细说明
该控件允许用户选择一个QKeySequence (通常用作快捷键)。当控件获得焦点时,录制开始;用户松开最后一个键后一秒钟,录制结束。
另请参阅 QKeySequenceEdit::keySequence 。
属性文档
[since 6.4] clearButtonEnabled : bool
此属性控制键序列编辑框在非空时是否显示“清除”按钮。
如果启用此选项,当键序列编辑框中包含文本时,会显示一个位于末尾的“清除”按钮;否则,该行编辑框不会显示“清除”按钮(默认行为)。
该枚举在 Qt 6.4 中引入。
访问函数:
| bool | isClearButtonEnabled() const |
| void | setClearButtonEnabled(bool enable) |
[since 6.5] finishingKeyCombinations : QList<QKeyCombination>
该属性包含用于结束键序列编辑的键组合列表。
列表中的任何组合都会结束键序列的编辑。所有其他键组合均可作为键序列的一部分被记录下来。默认情况下,Qt::Key_Tab 和Qt::Key_Backtab 会结束键序列的记录。
该枚举在 Qt 6.5 中引入。
访问函数:
| QList<QKeyCombination> | finishingKeyCombinations() const |
| void | setFinishingKeyCombinations(const QList<QKeyCombination> &finishingKeyCombinations) |
keySequence : QKeySequence
该属性包含当前选定的键序列。
用户或通过 setter 函数均可更改该快捷键。
注意:如果 QKeySequence 比maximumSequenceLength 属性更长,则键序列将被截断。
访问函数:
| QKeySequence | keySequence() const |
| void | setKeySequence(const QKeySequence &keySequence) |
通知信号:
| void | keySequenceChanged(const QKeySequence &keySequence) |
[since 6.5] maximumSequenceLength : qsizetype
该属性用于存储序列的最大长度。
用户可输入的键序列最大数量。该值必须在 1 到 4 之间,默认值为 4。
该枚举在 Qt 6.5 中引入。
访问函数:
| qsizetype | maximumSequenceLength() const |
| void | setMaximumSequenceLength(qsizetype count) |
成员函数文档
[explicit] QKeySequenceEdit::QKeySequenceEdit(QWidget *parent = nullptr)
根据给定的parent ,创建一个QKeySequenceEdit控件。
[explicit] QKeySequenceEdit::QKeySequenceEdit(const QKeySequence &keySequence, QWidget *parent = nullptr)
根据给定的keySequence 和parent ,创建一个QKeySequenceEdit控件。
[virtual noexcept] QKeySequenceEdit::~QKeySequenceEdit()
销毁QKeySequenceEdit 对象。
[slot] void QKeySequenceEdit::clear()
清除当前的键序列。
[signal] void QKeySequenceEdit::editingFinished()
当用户完成快捷键的输入时,会发出此信号。
注意: 在松开最后一个按键并发出此信号之前,会有 1秒的延迟。
[override virtual protected] bool QKeySequenceEdit::event(QEvent *e)
重写了:QWidget::event(QEvent *event)。
[override virtual protected] void QKeySequenceEdit::focusOutEvent(QFocusEvent *e)
重写了:QWidget::focusOutEvent(QFocusEvent *event)。
[override virtual protected] void QKeySequenceEdit::keyPressEvent(QKeyEvent *e)
重写了:QWidget::keyPressEvent(QKeyEvent *event)。
[override virtual protected] void QKeySequenceEdit::keyReleaseEvent(QKeyEvent *e)
重写了:QWidget::keyReleaseEvent(QKeyEvent *event)。
[override virtual protected] void QKeySequenceEdit::timerEvent(QTimerEvent *e)
重写了:QObject::timerEvent(QTimerEvent *event)。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.