QAbstractSpinBox Class
QAbstractSpinBoxクラスは、値を表示するためのスピンボックスとラインエディットを提供します。詳細...
Header: | #include <QAbstractSpinBox> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | QWidget |
Inherited By: |
パブリックタイプ
enum | ButtonSymbols { UpDownArrows, PlusMinus, NoButtons } |
enum | CorrectionMode { CorrectToPreviousValue, CorrectToNearestValue } |
flags | StepEnabled |
enum | StepEnabledFlag { StepNone, StepUpEnabled, StepDownEnabled } |
enum | StepType { DefaultStepType, AdaptiveDecimalStepType } |
プロパティ
|
|
パブリック関数
QAbstractSpinBox(QWidget *parent = nullptr) | |
virtual | ~QAbstractSpinBox() |
Qt::Alignment | alignment() const |
QAbstractSpinBox::ButtonSymbols | buttonSymbols() const |
QAbstractSpinBox::CorrectionMode | correctionMode() const |
virtual void | fixup(QString &input) const |
bool | hasAcceptableInput() const |
bool | hasFrame() const |
void | interpretText() |
bool | isAccelerated() const |
bool | isGroupSeparatorShown() const |
bool | isReadOnly() const |
bool | keyboardTracking() const |
void | setAccelerated(bool on) |
void | setAlignment(Qt::Alignment flag) |
void | setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs) |
void | setCorrectionMode(QAbstractSpinBox::CorrectionMode cm) |
void | setFrame(bool) |
void | setGroupSeparatorShown(bool shown) |
void | setKeyboardTracking(bool kt) |
void | setReadOnly(bool r) |
void | setSpecialValueText(const QString &txt) |
void | setWrapping(bool w) |
QString | specialValueText() const |
virtual void | stepBy(int steps) |
QString | text() const |
virtual QValidator::State | validate(QString &input, int &pos) const |
bool | wrapping() const |
再実装パブリック関数
virtual bool | event(QEvent *event) override |
virtual QVariant | inputMethodQuery(Qt::InputMethodQuery query) const override |
virtual QSize | minimumSizeHint() const override |
virtual QSize | sizeHint() const override |
パブリックスロット
シグナル
void | editingFinished() |
保護された関数
virtual void | initStyleOption(QStyleOptionSpinBox *option) const |
QLineEdit * | lineEdit() const |
void | setLineEdit(QLineEdit *lineEdit) |
virtual QAbstractSpinBox::StepEnabled | stepEnabled() const |
再実装された保護された関数
virtual void | changeEvent(QEvent *event) override |
virtual void | closeEvent(QCloseEvent *event) override |
virtual void | contextMenuEvent(QContextMenuEvent *event) override |
virtual void | focusInEvent(QFocusEvent *event) override |
virtual void | focusOutEvent(QFocusEvent *event) override |
virtual void | hideEvent(QHideEvent *event) override |
virtual void | keyPressEvent(QKeyEvent *event) override |
virtual void | keyReleaseEvent(QKeyEvent *event) override |
virtual void | mouseMoveEvent(QMouseEvent *event) override |
virtual void | mousePressEvent(QMouseEvent *event) override |
virtual void | mouseReleaseEvent(QMouseEvent *event) override |
virtual void | paintEvent(QPaintEvent *event) override |
virtual void | resizeEvent(QResizeEvent *event) override |
virtual void | showEvent(QShowEvent *event) override |
virtual void | timerEvent(QTimerEvent *event) override |
virtual void | wheelEvent(QWheelEvent *event) override |
詳細説明
このクラスは、QSpinBox 、QDoubleSpinBox 、 のようなウィジェットの共通のスーパークラスとして設計されています。QDateTimeEdit
以下は、このクラスの主なプロパティです:
- text:QAbstractSpinBoxに表示されるテキストです。
- アラインメント:QAbstractSpinBox内のテキストの配置。
- wrapping:QAbstractSpinBox が最小値から最大値、またはその逆に折り返すかどうか。
QAbstractSpinBoxは、ユーザーがステップをトリガーするたびに呼び出される仮想stepBy ()関数を提供します。この関数は、ステップ数を示す整数値を取ります。例えば、Qt::Key_Down を押すと、stepBy(-1) が呼び出されます。
ユーザーがQt::ControlModifier を押しながらステップをトリガーすると、QAbstractSpinBox は 1 ステップではなく 10 ステップします。このステップ修飾子は、ホイールイベント、キーイベント、スピンボックスボタンとのインタラクションに影響します。macOS では、Control は Command キーに相当します。
Qt 5.12 以降では、QStyle::SH_SpinBox_StepModifier を使用して、Qt::KeyboardModifier ステップレートを増加させるものを選択できます。Qt::NoModifier はこの機能を無効にします。
QAbstractSpinBox は、任意のポイントでステップアップ/ダウンが許可されているかどうかを決定する仮想関数stepEnabled() も提供します。この関数はStepEnabled のビットセットを返します。
QAbstractSlider,QSpinBox,QDoubleSpinBox,QDateTimeEdit,Spin Boxes Exampleも参照してください 。
メンバ型の説明
enum QAbstractSpinBox::ButtonSymbols
この列挙型は、スピンボックスのボタンに表示できるシンボルを記述します。
定数 | 値 | 説明 |
---|---|---|
QAbstractSpinBox::UpDownArrows | 0 | 古典的なスタイルの小さな矢印。 |
QAbstractSpinBox::PlusMinus | 1 | + と-のシンボル。 |
QAbstractSpinBox::NoButtons | 2 | ボタンを表示しない。 |
QAbstractSpinBox::buttonSymbolsも参照してください 。
enum QAbstractSpinBox::CorrectionMode
この列挙型は、編集が終了した場合にスピンボックスがIntermediate の値を修正するために使用するモードを記述します。
定数 | 値 | 説明 |
---|---|---|
QAbstractSpinBox::CorrectToPreviousValue | 0 | スピンボックスは最後に有効だった値に戻します。 |
QAbstractSpinBox::CorrectToNearestValue | 1 | スピンボックスは最も近い有効な値に戻します。 |
correctionModeも参照してください 。
enum QAbstractSpinBox::StepEnabledFlag
flags QAbstractSpinBox::StepEnabled
定数 | 値 |
---|---|
QAbstractSpinBox::StepNone | 0x00 |
QAbstractSpinBox::StepUpEnabled | 0x01 |
QAbstractSpinBox::StepDownEnabled | 0x02 |
StepEnabled型はQFlags<StepEnabledFlag>のtypedefです。StepEnabledFlagの値のORの組み合わせを格納します。
enum QAbstractSpinBox::StepType
定数値 | 値 |
---|---|
QAbstractSpinBox::DefaultStepType | 0 |
QAbstractSpinBox::AdaptiveDecimalStepType | 1 |
プロパティの説明
accelerated : bool
このプロパティは、スピンボックスがステップUp/Downボタンを押したときにステップの周波数を加速するかどうかを保持します。
有効な場合、スピンボックスは、ボタンを押し続けるほど値を速く増減します。
アクセス関数:
bool | isAccelerated() const |
void | setAccelerated(bool on) |
[read-only]
acceptableInput : const bool
このプロパティは、入力が現在のバリデーションを満たすかどうかを保持します。
アクセス関数:
bool | hasAcceptableInput() const |
validate()、fixup()、correctionModeも参照のこと 。
alignment : Qt::Alignment
このプロパティは、スピンボックスの配置を保持します。
指定可能な値は、Qt::AlignLeft 、Qt::AlignRight 、およびQt::AlignHCenter です。
デフォルトでは、アライメントはQt::AlignLeft
アライメントを不正なフラグの組み合わせに設定しようとしても何もしません。
関数にアクセスします:
Qt::Alignment | alignment() const |
void | setAlignment(Qt::Alignment flag) |
Qt::Alignmentも参照 。
buttonSymbols : ButtonSymbols
このプロパティは、現在のボタンシンボルモードを保持します。
とりうる値はUpDownArrows
またはPlusMinus
のいずれかです。 デフォルトはUpDownArrows
です。
スタイルによっては、PlusMinus とUpDownArrows を同じようにレンダリングする場合があることに注意してください。
アクセス関数:
QAbstractSpinBox::ButtonSymbols | buttonSymbols() const |
void | setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs) |
ButtonSymbolsも参照。
correctionMode : CorrectionMode
こ のプ ロパテ ィ は、 編集が終了 し た と き にIntermediate の値を修正す る モー ド を保持 し ます。
デフ ォル ト のモー ド はQAbstractSpinBox::CorrectToPreviousValue です。
アクセス関数:
QAbstractSpinBox::CorrectionMode | correctionMode() const |
void | setCorrectionMode(QAbstractSpinBox::CorrectionMode cm) |
acceptableInput 、validate()、fixup()も参照して ください。
frame : bool
このプロパティは、スピンボックス自身をフレームで描画するかどうかを保持します。
有効な場合(デフォルト)、スピンボックスはフレーム内に描画され、そうでない場合、スピンボックスはフレームなしで描画されます。
関数にアクセスします:
bool | hasFrame() const |
void | setFrame(bool) |
keyboardTracking : bool
このプロパティは、スピンボックスでキーボードトラッキングが有効かどうかを保持します。
キーボードトラッキングが有効な場合(デフォルト)、スピンボックスはキーボードから新しい値が入力されている間、valueChanged()とtextChanged()シグナルを発信します。
例えば、ユーザーが6、0、0と入力して値600を入力すると、スピンボックスはそれぞれ値6、60、600の3つのシグナルを出力します。
キーボードトラッキングが無効の場合、スピンボックスは入力中にvalueChanged()とtextChanged()シグナルを発しません。リターンキーが押されたとき、キーボードのフォーカスが失われたとき、または矢印キーが押されたときなど、他のスピンボックスの機能が使用されたときに、後でシグナルを発します。
アクセス関数:
bool | keyboardTracking() const |
void | setKeyboardTracking(bool kt) |
readOnly : bool
このプロパティは、スピンボックスが読み取り専用かどうかを保持します。
読み取り専用モードでは、ユーザーはテキストをクリップボードにコピーしたり、テキストをドラッグ&ドロップすることはできますが、編集することはできません。
QAbstractSpinBox のQLineEdit は、読み取り専用モードではカーソルを表示しません。
アクセス関数:
bool | isReadOnly() const |
void | setReadOnly(bool r) |
QLineEdit::readOnlyも参照してください 。
showGroupSeparator : bool
このプロパティは、千区切りが有効かどうかを保持します。デフォルトでは、このプロパティはfalseです。
アクセス関数:
bool | isGroupSeparatorShown() const |
void | setGroupSeparatorShown(bool shown) |
specialValueText : QString
このプロパティは、特殊値テキストを保持します。
設定された場合、スピン・ボックスは、現在の値がminimum()に等しいときは常に、数値の代わりにこのテキストを表示します。典型的な使用方法は、この選択肢が特別な(デフォルトの)意味を持つことを示すことです。
例えば、スピンボックスで画像を表示する際のスケールファクター(またはズームレベル)をユーザーが選択でき、アプリケーションが自動的に画像を表示ウィンドウ内に完全に収まるように選択できる場合、スピンボックスをこのように設定することができます:
QSpinBox *zoomSpinBox = new QSpinBox; zoomSpinBox->setRange(0, 1000); zoomSpinBox->setSingleStep(10); zoomSpinBox->setSuffix("%"); zoomSpinBox->setSpecialValueText(tr("Automatic")); zoomSpinBox->setValue(100);
ユーザーは1%から1000%の間でスケールを選択するか、"Auto "を選択してアプリケーションに選択させることができます。あなたのコードは、スピンボックスの値0を、ウィンドウ内に収まるように画像を拡大縮小するユーザーからの要求として解釈する必要があります。
すべての値は、接頭辞と接尾辞(設定されている場合)とともに表示されますが、特別な値は特別な値のテキストだけが表示されます。この特別テキストは、QString を渡すQSpinBox::textChanged() シグナルで渡されます。
特別値テキストの表示をオフにするには、この関数を空の文字列で呼び出します。デフォルトは特殊値テキストなし、つまり数値は通常どおり表示される。
特別値テキストが設定されていない場合、specialValueText() は空文字列を返す。
アクセス関数:
QString | specialValueText() const |
void | setSpecialValueText(const QString &txt) |
[read-only]
text : const QString
このプロパティは、接頭辞と接尾辞を含むスピンボックスのテキストを保持します。
デフォルトテキストはありません。
アクセス関数:
QString | text() const |
wrapping : bool
このプロパティは、スピンボックスが円形であるかどうかを保持します。
wrappingがtrueの場合、maximum()値からステップアップするとminimum()値に移動します。wrappingは、minimum()値とmaximum()値が設定されている場合にのみ意味を持ちます。
QSpinBox *spinBox = new QSpinBox(this); spinBox->setRange(0, 100); spinBox->setWrapping(true); spinBox->setValue(100); spinBox->stepBy(1); // value is 0
アクセス関数:
bool | wrapping() const |
void | setWrapping(bool w) |
QSpinBox::minimum() およびQSpinBox::maximum()も参照 。
メンバ関数ドキュメント
[explicit]
QAbstractSpinBox::QAbstractSpinBox(QWidget *parent = nullptr)
与えられたparent とデフォルトのwrapping 、アライメントプロパティを持つ抽象スピンボックスを構築します。
[virtual noexcept]
QAbstractSpinBox::~QAbstractSpinBox()
QAbstractSpinBox が破棄されるときに呼び出されます。
[override virtual protected]
void QAbstractSpinBox::changeEvent(QEvent *event)
再実装します:QWidget::changeEvent(QEvent *event)。
[virtual slot]
void QAbstractSpinBox::clear()
プレフィックスとサフィックス以外のすべてのテキストをクリアします。
[override virtual protected]
void QAbstractSpinBox::closeEvent(QCloseEvent *event)
再インプリメント:QWidget::closeEvent(QCloseEvent *event)。
[override virtual protected]
void QAbstractSpinBox::contextMenuEvent(QContextMenuEvent *event)
再インプリメント:QWidget::contextMenuEvent(QContextMenuEvent *event)を再定義します。
[signal]
void QAbstractSpinBox::editingFinished()
このシグナルは編集が終了したときに発行されます。スピンボックスのフォーカスが外れたときや、Enterが押されたときに発生します。
[override virtual]
bool QAbstractSpinBox::event(QEvent *event)
再インプリメントです:QWidget::event(QEvent *event)。
[virtual]
void QAbstractSpinBox::fixup(QString &input) const
この仮想関数は、Return が押されたとき、またはinterpretText() が呼び出されたときにinput がQValidator::Acceptable にバリデートされなかった場合にQAbstractSpinBox によって呼び出されます。この関数は、テキストを有効なものに変更しようとします。さまざまなサブクラスで再実装されています。
[override virtual protected]
void QAbstractSpinBox::focusInEvent(QFocusEvent *event)
再実装:QWidget::focusInEvent(QFocusEvent *event)。
[override virtual protected]
void QAbstractSpinBox::focusOutEvent(QFocusEvent *event)
再実装:QWidget::focusOutEvent(QFocusEvent *event) を再実装します。
[override virtual protected]
void QAbstractSpinBox::hideEvent(QHideEvent *event)
再リプルメント: (QFocusEvent *event)QWidget::hideEvent(QHideEvent *event)。
[virtual protected]
void QAbstractSpinBox::initStyleOption(QStyleOptionSpinBox *option) const
このQSpinBox の値でoption を初期化します。このメソッドは、サブクラスがQStyleOptionSpinBox を必要とするが、すべての情報を自分で入力したくない場合に便利です。
QStyleOption::initFrom()も参照 。
[override virtual]
QVariant QAbstractSpinBox::inputMethodQuery(Qt::InputMethodQuery query) const
再インプリメントです:QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
void QAbstractSpinBox::interpretText()
この関数はスピンボックスのテキストを解釈します。前回の解釈から値が変更された場合はシグナルを発します。
[override virtual protected]
void QAbstractSpinBox::keyPressEvent(QKeyEvent *event)
再インプリメントです:QWidget::keyPressEvent(QKeyEvent *event)を再実装します。
この関数はキーボード入力を処理します。
特に以下のキーが処理されます:
Enter/Return | 前回シグナルが発せられたときから値が変わっていなくても、テキストを再解釈してシグナルを発します。 |
上 | stepBy(1)を呼び出します。 |
下 | stepBy(-1) を呼び出します。 |
ページアップ | stepBy(10) を呼び出します。 |
ページダウン | stepBy(-10) を呼び出します。 |
stepBy()も参照 。
[override virtual protected]
void QAbstractSpinBox::keyReleaseEvent(QKeyEvent *event)
再インプリメント:QWidget::keyReleaseEvent(QKeyEvent *event)。
[protected]
QLineEdit *QAbstractSpinBox::lineEdit() const
この関数は、スピンボックスの行編集へのポインタを返します。
setLineEdit() も参照して ください。
[override virtual]
QSize QAbstractSpinBox::minimumSizeHint() const
プロパティのアクセス関数を再インプリメントします:QWidget::minimumSizeHint 。
[override virtual protected]
void QAbstractSpinBox::mouseMoveEvent(QMouseEvent *event)
再実装:QWidget::mouseMoveEvent(QMouseEvent *event)。
[override virtual protected]
void QAbstractSpinBox::mousePressEvent(QMouseEvent *event)
再インプリメント:QWidget::mousePressEvent(QMouseEvent *event)。
[override virtual protected]
void QAbstractSpinBox::mouseReleaseEvent(QMouseEvent *event)
再リンプルメント: (QMouseEvent *event):QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected]
void QAbstractSpinBox::paintEvent(QPaintEvent *event)
再リンプルメント: (QMouseEvent *event):QWidget::paintEvent(QPaintEvent *event)。
[override virtual protected]
void QAbstractSpinBox::resizeEvent(QResizeEvent *event)
再リンプルメント: (QPaintEvent *event):QWidget::resizeEvent(QResizeEvent *event)。
[slot]
void QAbstractSpinBox::selectAll()
接頭辞と接尾辞を除くスピンボックス内のすべてのテキストを選択します。
[protected]
void QAbstractSpinBox::setLineEdit(QLineEdit *lineEdit)
スピンボックスの行編集を、現在の行編集ウィジェットの代わりにlineEdit に設定します。lineEdit はnullptr
にはできません。
lineEdit に対するQLineEdit::validator() がnullptr
を返した場合、スピンボックスの内部バリデータが行編集に設定されます。
lineEdit()も参照してください 。
[override virtual protected]
void QAbstractSpinBox::showEvent(QShowEvent *event)
再インプリメント:QWidget::showEvent(QShowEvent *event)。
[override virtual]
QSize QAbstractSpinBox::sizeHint() const
プロパティのアクセス関数を再実装します:QWidget::sizeHint 。
[virtual]
void QAbstractSpinBox::stepBy(int steps)
ユーザーがステップをトリガーするたびに呼び出される仮想関数。steps パラメータは、いくつのステップが実行されたかを示します。例えば、Qt::Key_Down
を押すとstepBy(-1)
が呼び出され、Qt::Key_PageUp
を押すとstepBy(10)
が呼び出されます。
QAbstractSpinBox
をサブクラス化する場合は、この関数を再実装する必要があります。この関数は、結果の値が最小値と最大値の境界を外れていても呼び出されることに注意してください。このような状況を処理するのがこの関数の仕事です。
stepUp()、stepDown()、keyPressEvent()も参照 。
[slot]
void QAbstractSpinBox::stepDown()
1ラインステップ下がる このスロットを呼び出すと、stepBy(-1)を呼び出すのと同じことになる;
[virtual protected]
QAbstractSpinBox::StepEnabled QAbstractSpinBox::stepEnabled() const
ステップアップとステップダウンがいつでも合法かどうかを決定する仮想関数。
(stepEnabled() &StepUpEnabled) がない限り、上矢印は無効として描画される。!= 0.
デフォルトの実装では、折り返しがオンになっていれば (StepUpEnabled|StepDownEnabled) を返します。それ以外の場合は、値が > minimum() の場合はStepDownEnabled を返し、value < maximum() の場合はStepUpEnabled を返します。
QAbstractSpinBox をサブクラス化する場合は、この関数を再実装する必要があります。
QSpinBox::minimum(),QSpinBox::maximum(),wrapping()も参照 。
[slot]
void QAbstractSpinBox::stepUp()
1行ステップアップ このスロットを呼び出すことは、stepBy(1)を呼び出すことと類似している;
[override virtual protected]
void QAbstractSpinBox::timerEvent(QTimerEvent *event)
再インプリメント:QObject::timerEvent(QTimerEvent *event)。
[virtual]
QValidator::State QAbstractSpinBox::validate(QString &input, int &pos) const
この仮想関数は、input が有効かどうかを判定するためにQAbstractSpinBox から呼び出される。pos パラメータは文字列内の位置を示す。様々なサブクラスで再実装されています。
[override virtual protected]
void QAbstractSpinBox::wheelEvent(QWheelEvent *event)
再実装:QWidget::wheelEvent(QWheelEvent *event)。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。