QSpinBox 如果对您有用记得点赞哦)
QSpinBox 类提供了一个微调框部件。QSpinBox 允许用户选择一个值,通过单击向上/向下按钮或按下键盘的上/下箭头来增加/减少当前显示的值,用户也可以输入值。
例子
用一个 QSpinBox 来调节程序窗体的整体不透明度。
头文件“mainwindow.h”具体代码如下。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QSpinBox>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
/* 声明一个QSpinBox对象 */
QSpinBox *spinBox;
private slots:
/* 槽函数 */
void spinBoxValueChanged(int);
};
#endif // MAINWINDOW_H
源文件“mainwindow.cpp”具体代码如下。
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->setGeometry(0, 0, 800, 480);
/* 设置主窗口背景颜色,rgb颜色标准,a代表不透明度(0~100)*/
this->setStyleSheet("QMainWindow{background-color: "
"rgba(100, 100, 100, 100%) }");
spinBox = new QSpinBox(this);
spinBox->setGeometry(350, 200, 150, 30);
/* 设置范围0~100 */
spinBox->setRange(0, 100);
/* 设置步长为10 */
spinBox->setSingleStep(10);
/* 设置初始值为100 */
spinBox->setValue(100);
/* 设置后缀 */
spinBox->setSuffix("%不透明度");
/* 信号槽连接 */
connect(spinBox,SIGNAL(valueChanged(int)), this,
SLOT(spinBoxValueChanged(int)));
}
MainWindow::~MainWindow()
{
}
void MainWindow::spinBoxValueChanged(int opacity)
{
/* 转换为double数据类型 */
double dobleopacity = (double)opacity / 100;
/* 设置窗体不透明度,范围是0.0~1.0。1则为不透明,0为全透明 */
this->setWindowOpacity(dobleopacity);
}
运行效果: