QDial Class
QDialクラスは、(スピードメーターやポテンショメーターのような)丸みを帯びたレンジコントロールを提供します。詳細...
Header: | #include <QDial> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | 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
プロパティのアクセス関数を再インプリメントします:QWidget::minimumSizeHint 。
[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)
再リンプルメント: (QMouseEvent *event):QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected]
void QDial::paintEvent(QPaintEvent *pe)
再リンプルメント: (QMouseEvent *event):QWidget::paintEvent(QPaintEvent *event)。
[override virtual protected]
void QDial::resizeEvent(QResizeEvent *e)
再リンプルメント: (QPaintEvent *event):QWidget::resizeEvent(QResizeEvent *event)。
[override virtual]
QSize QDial::sizeHint() const
プロパティへのアクセス関数を再実装:QWidget::sizeHint 。
[override virtual protected]
void QDial::sliderChange(QAbstractSlider::SliderChange change)
再インプリメント:QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change) を再実装しています。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。