QT(8)-QSpinBox

时间:2023-02-01 11:59:57

QSpinBox

1 介绍

QSpinBox 是 Qt 中的一种数字输入控件,支持整数和浮点数输入。它允许用户通过上下箭头或键盘输入来选择数字。您可以设置最小值、最大值和步长,以限制用户输入的范围。QSpinBox 还支持前缀和后缀,您可以使用它们在数字前面或后面显示额外的信息。

2 函数

2.1 cleanText()

QString cleanText() const 此属性保存旋转框的文本,不包括任何前缀、后缀或前导或尾随空格。

2.2 displayIntegerBase()

int displayIntegerBase() const 返回 QSpinBox 用于显示整数的进制(十进制、八进制、十六进制等)。此函数用于获取当前 QSpinBox 使用的整数进制。

void setDisplayIntegerBase(int base) 设置 QSpinBox 用于显示整数的进制(十进制、八进制、十六进制等)。此函数接受一个 int 类型的参数,表示要使用的进制,例如 10 表示十进制,16 表示十六进制。

 QSpinBox *spinBox = new QSpinBox;
 spinBox->setDisplayIntegerBase(16); // 设置为十六进制
 spinBox->show();

2.3 最大最小值

int maximum() const void setMaximum(int max)

int minimum() const void setMinimum(int min)

void QSpinBox::setRange(int minimum, int maximum) 用于设置 QSpinBox 中允许输入的数字范围。此函数接受两个 int 类型的参数,分别表示最小值和最大值。

2.4 前缀后缀

QString prefix() const void setPrefix(const QString &prefix)

QString suffix() const void setSuffix(const QString &suffix)

2.5 步长

int singleStep() const void setSingleStep(int val)

2.6 步长类型

QAbstractSpinBox::StepType stepType() const void setStepType(QAbstractSpinBox::StepType stepType)

用于设置 QSpinBox 中每次增加/减少数字的步长。此函数接受一个 QAbstractSpinBox::StepType 类型的参数,表示步长类型。

QAbstractSpinBox::StepType 枚举定义了以下三种步长类型:

QAbstractSpinBox::DefaultStepType:默认步长,一般为 1。 QAbstractSpinBox::AdaptiveDecimalStepType:自适应步长,根据数字的大小自动调整步长。 QAbstractSpinBox::DefaultStepType:固定步长,可以通过 setSingleStep() 函数设置。

2.7 设置值

int value() const void setValue(int val) slot[]

3 信号

void textChanged(const QString &text)

void valueChanged(int i)

4虚函数

4.1 textFromValue

virtual QString textFromValue(int value) const textFromValue(int value) 是 QSpinBox 类中的一个虚函数,用于将数字转换为字符串。此函数接受一个 int 类型的参数,表示要转换的数字。函数返回一个 QString 类型的字符串,表示该数字的字符串表示。

4.2 valueFromText

virtual int valueFromText(const QString &text) const valueFromText(const QString &text) 是 QSpinBox 类中的一个虚函数,用于将字符串转换为数字。此函数接受一个 QString 类型的参数,表示要转换的字符串。函数返回一个 int 类型的数字,表示该字符串所表示的数字。

4.3 event

virtual bool event(QEvent *event) override event(QEvent *event) 是 QSpinBox 类中的一个虚函数,用于处理事件。它是从 QObject 类继承的。该函数接受一个 QEvent 类型的指针,表示要处理的事件。函数返回一个 bool 类型的值,表示事件是否已被处理。

4.4 fixup

virtual void fixup(QString &input) const override fixup(QString &input) 是 QSpinBox 类中的一个虚函数,用于在用户输入不正确的值时修复该值。它是从 QValidator 类继承的。该函数接受一个 QString 引用,表示要修复的字符串。

4.5 validate

virtual QValidator::State validate(QString &text, int &pos) const override 用于在用户输入字符串时验证该字符串是否有效。它是从 QValidator 类继承的。该函数接受两个参数:一个 QString 引用,表示要验证的字符串;一个 int 引用,表示光标的位置。该函数返回一个 QValidator::State 枚举值,表示该字符串的有效性。

QValidator::State 是一个枚举类型,表示字符串的有效性。它有以下三个枚举值:

  • QValidator::Invalid:表示字符串无效。
  • QValidator::Intermediate:表示字符串的有效性尚未确定,需要继续输入。
  • QValidator::Acceptable:表示字符串有效。