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

プロパティ

パブリック関数

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/upright/down の矢印キーは、ダイヤルのvalue を定義されたsingleStep で調整し、Page UpPage Down を定義されたpageStep で調整し、HomeEnd のキーは、値を定義されたminimummaximum の値に設定します。

マウスホイールを使ってダイヤルを調整する場合、インクリメント値は、wheelScrollLinessingleSteppageStep を掛けた値のうち、小さい方で決定される。

QScrollBarQSpinBoxQSlider 、およびスライダーの例も参照してください

プロパティの説明

[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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。