QSpinBox和QSlider的简单应用(Qt编程例题学习笔记)
1. 参考资料
(1) 《C++ GUI Qt编程(第二版)》p5.
(2) CSDN博主侯传旺的博客,链接为http://blog.csdn.net/houchuanwang/article/details/6686721#
2. 程序(自己加的注释)
#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[]){
QApplication app(argc, argv);
QWidget *window = new QWidget;
//设置标题,关于setWindowTitle
window->setWindowTitle("Enter your age");
//创建spinbox和sider滑条
QSpinBox *spinBox = new QSpinBox;
QSlider *slider = new QSlider(Qt::Horizontal);
//设置数值范围
spinBox->setRange(0,130);
slider->setRange(0,130);
//设置初始值
spinBox->setValue(24);
slider->setValue(24);
//设置变化步长为1
spinBox->setSingleStep(1);
//设置spinbox的后缀
spinBox->setSuffix(" years old");
//布局设置
//在水平方向上从左到右排列窗口部件QHBoxLayout,
//在竖直方向上从上至下排列窗口部件QVBoxLayout,
//把各个窗口部件排列在一个网格中QGridLayout
QHBoxLayout *layouth = new QHBoxLayout;
layouth->addWidget(spinBox);
layouth->addWidget(slider);
window->setLayout(layouth);
//信号与槽连接
QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int))); //连接spinbox和slider
QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int))); //连接spinbox和slider
window->show();
return app.exec();
}
3. 一些笔记
(1) setWindowTitle相关。(翻译的Qt帮助文档)
windowTitle:QString
这个属性用于设置窗口标题。
这个属性只对顶层部件有意义,例如window和dialog。如果没有设置标题,则标题基于窗口文件的路径(有路径中保存的名字决定)。如果既没有特别指明窗口标题,在窗口文件的路径中也没有设置名称,则窗口名称是一个空的字符串。
如果你使用的是窗口改进机制,则窗口标题包含了一个[*]占位符,也就是说*必须出现。通常,它会在文件名的后面(例如document1.txt[*] - Text Editor)。如果窗口改进属性未被启用(默认不启用),则占位符将被删除。
访问功能:
QString windowTitle () const
void setWindowTitle ( const QString & )
(2) spinbox的属性设置示例
spinbox就是一个可输入、课点击上下三角进行增减的框。
具体设置说明附上程序,看程序中的注释。
程序来源:CSDN博主 侯传旺 的博客,链接:http://blog.csdn.net/houchuanwang/article/details/6686721#
#include <QApplication>
#include <QSpinBox>
int main(int argc,char **argv)
{
QApplication app(argc,argv);
QSpinBox *spinbox=new QSpinBox;
spinbox->setSingleStep(2); //设置变化步长
spinbox->setRange(0,100); //设置变化范围
spinbox->setSuffix("km"); //设置输出显示后缀
spinbox->setPrefix("$:"); //设置输出显示前缀
spinbox->resize(200,40); //设置大小
spinbox->setValue(50); //设置初始值
// spinbox->setMaximum(100); //设置最大值
// spinbox->setMinimum(0); //设置最小值
spinbox->setRange(0,100); //设置数值范围
spinbox->show();
return app.exec();
}