【qt】数值的输入与输出1:https://developer.aliyun.com/article/1522979
2.QSpinBox代替
先看目标界面:
好,我们现在开始用SpinBox来进行替换:
Spin Box输出进制可以自己进行设置:
这里可以自动的转换成相应的进制然后再输出
Spin Box的默认最大值为99,可以自己进行设置
这里可以设置spin框的前缀:
void Dialog::on_pushButtonCal_clicked() { int count=ui->spinBoxCount->value();//就可以直接拿出值 double price=ui->doubleSpinBoxPrice->value(); double total=count*price; ui->doubleSpinBoxTotal->setValue(total); } void Dialog::on_pushButton10_clicked() { int dec=ui->spinBox10->value(); ui->spinBox2->setValue(dec); ui->spinBox16->setValue(dec); } void Dialog::on_pushButton2_clicked() { int bin=ui->spinBox2->value(); ui->spinBox10->setValue(bin); ui->spinBox16->setValue(bin); } void Dialog::on_pushButton16_clicked() { int hex=ui->spinBox16->value(); ui->spinBox2->setValue(hex); ui->spinBox10->setValue(hex); }
现在的代码实现就不用再进行字符串的转换了,同时设置时也不用我们来转进制,因为在外面界面创建spin box时就添加了进制转换
是不是爽翻了,多注意注意Spin Box的属性就可以了。
运行结果:
非常好玩,你也去试试吧!
3.QSlider滑动块
目标图:
OK,我们来讲下一个
首先进行拖放
这里可以设置显示刻度
还可以进行范围的设置,因为我们rgb调色的范围是0~255;
开始用格栅进行布局:
然后再进行垂直布局
接下来转到槽,记得改名字哦。
用这个信号:
代码:
void Dialog::on_horizontalSliderRed_valueChanged(int value) { int red=ui->horizontalSliderRed->value(); int green=ui->horizontalSliderGreen->value(); int blue=ui->horizontalSliderBlue->value(); int trans=ui->horizontalSliderTrans->value(); QColor color=QColor::fromRgb(red,green,blue,trans); auto pei=ui->textEdit->palette(); pei.setColor(QPalette::Base, color);//对背景添加颜色 ui->textEdit->setPalette(pei); }
代码解释:拿出各个滑动块的值,然后用rgb配色,再拿出文本编辑器的调色板来进行修改和设置。
运行结果:
为什么没有效果?
因为我们透明度开满了,太透明了。
可以去属性栏位透明度滑块添加一个初始值。
现在就有颜色了:
接下来我们可以对绿蓝,透明度用转到槽,但是没必要,因为实现的功能代码一模一样,我们可以手动的将绿蓝和透明度的信关联我们的红色的槽函数
就相当于一个槽函数对应多个信号!
void Dialog::initSignalSlots() { connect(ui->horizontalSliderBlue,SIGNAL(valueChanged(int)), this,SLOT(on_horizontalSliderRed_valueChanged(int))); connect(ui->horizontalSliderGreen,SIGNAL(valueChanged(int)), this,SLOT(on_horizontalSliderRed_valueChanged(int))); connect(ui->horizontalSliderTrans,SIGNAL(valueChanged(int)), this,SLOT(on_horizontalSliderRed_valueChanged(int))); }
现在就可以调色了,太酷了,这个颜色挺好看!
4.QScrollBar滚动条
滚动条也可以直接拿到数值
目标图:
这个简单我们直接开始:
拖个大概:
直接一个垂直布局,然后设置滚动条值的范围。
然后直接对Scroll Bar转到槽,用这个信号:
代码:
void Dialog::on_horizontalScrollBar_valueChanged(int value) { ui->textEdit->selectAll();//选择所有的字体 ui->textEdit->setFontPointSize(value);//根据滚动条的值来配置字体大小 }
效果:
你也试试自己去玩。
【qt】数值的输入与输出3:https://developer.aliyun.com/article/1522988