QDial Class
QDialクラスは、(スピードメーターやポテンショメーターのような)丸みを帯びたレンジコントロールを提供します。詳細...
ヘッダー | #include <QDial> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
継承: | QAbstractSlider |
プロパティ
- notchSize : const int
- notchTarget : qreal
- notchesVisible : bool
- wrapping : bool
パブリック関数
QDial(QWidget *parent = nullptr) | |
virtual | ~QDial() |
int | notchSize() const |
qreal | notchTarget() const |
bool | notchesVisible() const |
void | setNotchTarget(double target) |
bool | wrapping() const |
再実装パブリック関数
virtual QSize | minimumSizeHint() const override |
virtual QSize | sizeHint() const override |
パブリックスロット
void | setNotchesVisible(bool visible) |
void | setWrapping(bool on) |
保護された関数
virtual void | initStyleOption(QStyleOptionSlider *option) const |
再実装された保護された関数
virtual bool | event(QEvent *e) override |
virtual void | mouseMoveEvent(QMouseEvent *e) override |
virtual void | mousePressEvent(QMouseEvent *e) override |
virtual void | mouseReleaseEvent(QMouseEvent *e) override |
virtual void | paintEvent(QPaintEvent *pe) override |
virtual void | resizeEvent(QResizeEvent *e) override |
virtual void | sliderChange(QAbstractSlider::SliderChange change) override |
詳細説明
QDial は、ユーザーがプログラムで定義可能な範囲内の値を制御する必要があり、その範囲が(例えば、0 度から 359 度までの角度で測定されるように)折り返すか、ダイアログのレイアウトが正方形のウィジェットを必要とする場合に使用されます。
QDial はQAbstractSlider を継承しているため、ダイヤルはslider と同様の動作をします。wrapping() が false の場合(デフォルト設定)、スライダーとダイヤルの間に実質的な違いはありません。どちらも同じシグナル、スロット、メンバー関数を共有しています。どちらを使うかは、ユーザーの期待やアプリケーションの種類によります。
ダイヤルは最初、スライダーが動いている間、valueChanged() シグナルを出し続けます。tracking プロパティを無効にすることで、シグナルを出す頻度を少なくすることができます。sliderMoved() シグナルは、トラッキングが無効になっているときでも継続的に発せられます。
文字盤は、マウスボタンが押されたり離されたりしたときにもsliderPressed() とsliderReleased() シグナルを発します。キーボードとホイールも値を変更するために使用できるので、これらのシグナルが発せられることなくダイヤルの値が変更されることがあることに注意してください。
スライダーとは異なり、QDialは1行のステップに1つではなく、「きれいな」数のノッチを描こうとします。可能であれば、描画されるノッチの数はライン・ステップごとに1つだが、1つ1つ描画するのに十分なピクセルがない場合、QDialはノッチをスキップして均一なセットを描画しようとする(例えば、2つ目か3つ目のノッチごとに描画する)。
スライダーと同様に、ダイヤルはQAbstractSlider 関数setValue() をスロットとして利用できるようにします。
ダイヤルのキーボード・インターフェースはかなりシンプルです:left/up とright/down の矢印キーは、ダイヤルのvalue を定義されたsingleStep で調整し、Page Up とPage Down を定義されたpageStep で調整し、Home とEnd のキーは、値を定義されたminimum とmaximum の値に設定します。
マウスホイールを使ってダイヤルを調整する場合、インクリメント値は、wheelScrollLines にsingleStep とpageStep を掛けた値のうち小さいほうで決定される。
QScrollBar 、QSpinBox 、QSlider 、およびスライダーの例も参照してください 。
プロパティのドキュメント
[read-only]
notchSize : const int
このプロパティは現在のノッチサイズを保持する。
ノッチサイズはピクセルではなく範囲制御単位であり、画面上のノッチサイズがnotchTarget() の近くになるsingleStep() の倍数になるように計算される。
アクセス関数:
int | notchSize() const |
notchTarget() およびsingleStep()も 参照のこと。
notchTarget : qreal
このプロパティは、ノッチ間の目標ピクセル数を保持する。
ノッチ・ターゲットは、QDial が各ノッチ間に入れようとするピクセル数です。
実際のサイズはターゲットサイズと異なる場合があります。
デフォルトのノッチターゲットは3.7ピクセルです。
アクセス関数:
qreal | notchTarget() const |
void | setNotchTarget(double target) |
notchesVisible : bool
このプロパティは、ノッチを表示するかどうかを保持する。
このプロパティがtrue
の場合、利用可能な値の範囲を示すために、ダイヤルの周囲に一連のノッチが描かれます。そうでない場合、ノッチは表示されません。
デフォルトでは、このプロパティは無効である。
アクセス関数:
bool | notchesVisible() const |
void | setNotchesVisible(bool visible) |
wrapping : bool
このプロパティは、折り返しが有効かどうかを保持する。
trueの場合、折り返しが有効である。そうでない場合、有効な値の範囲の両端を区切るために文字盤の下部にスペースが挿入される。
有効な場合、矢印はダイヤル上でどの角度でも向きを変えることができる。無効にすると、矢印は文字盤の上部に制限され、文字盤の下部にあるスペースに回転されると、有効な値の範囲の最も近い端に固定されます。
デフォルトでは、このプロパティはfalse
です。
アクセス関数:
bool | wrapping() const |
void | setWrapping(bool on) |
メンバ関数ドキュメント
[explicit]
QDial::QDial(QWidget *parent = nullptr)
文字盤を構築する。
parent 引数はQAbstractSlider コンストラクタに送られる。
[virtual noexcept]
QDial::~QDial()
ダイヤルを破壊する。
[override virtual protected]
bool QDial::event(QEvent *e)
再インプリメント:QAbstractSlider::event(QEvent *e).
[virtual protected]
void QDial::initStyleOption(QStyleOptionSlider *option) const
QDial の値でoption を初期化する。このメソッドは、サブクラスがQStyleOptionSlider を必要とするが、すべての情報を自分で入力したくない場合に便利です。
QStyleOption::initFrom()も参照 。
[override virtual]
QSize QDial::minimumSizeHint() const
[override virtual protected]
void QDial::mouseMoveEvent(QMouseEvent *e)
再実装:QWidget::mouseMoveEvent(QMouseEvent *event)。
[override virtual protected]
void QDial::mousePressEvent(QMouseEvent *e)
再実装:QWidget::mousePressEvent(QMouseEvent *event)。
[override virtual protected]
void QDial::mouseReleaseEvent(QMouseEvent *e)
再実装:QWidget::mouseReleaseEvent(QMouseEvent *event)。
[override virtual protected]
void QDial::paintEvent(QPaintEvent *pe)
再実装:QWidget::paintEvent(QPaintEvent *event)。
[override virtual protected]
void QDial::resizeEvent(QResizeEvent *e)
再実装:QWidget::resizeEvent(QResizeEvent *event)。
[override virtual]
QSize QDial::sizeHint() const
[override virtual protected]
void QDial::sliderChange(QAbstractSlider::SliderChange change)
再実装:QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change).
© 2025 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.