大宇私人领地伊甸园丨宁愿做了后悔,也不要错过后悔[www.mrdayu.com]
注册

24小时联系邮箱:[email protected]

系统架构
您现在的位置: 首页 > 系统架构 > QT > 《大宇:Qt入门到精通》 > [003]拖动控件实现两控件间的通信

[003]拖动控件实现两控件间的通信

发布时间:2017/11/13 《大宇:Qt入门到精通》 标签spinbox浏览次数:114

引:首先此次demo需要稍微熟悉一下的知识点,方便能将小案例看懂,背不背无所谓,因为后面会详细讲解每个知识点的详细用法,甚至会源码剖析。

必备知识点1:滑块控件slider[英文翻译:滑块]

必备知识点2:微调框spinbox[英文翻译:旋转的盒子]

必备知识点3:布局layout

基本效果:

源码:

#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);//开启进程

    QWidget *window = new QWidget;//创建一个窗口类,也就是显示出来的那个整体窗口,小窗口也是窗口
    window->setWindowTitle("Enter Your number");//设置窗口的名字,title显示的那个

    QSpinBox *spinBox = new QSpinBox;//定义一个旋转盒子,也就是微调控件
    QSlider *slider = new QSlider(Qt::Horizontal);//定义一个滑块,主要是想和这个微调框显示的数字联系起来
    spinBox->setRange(0, 100);//设置最小值为0,最大值为100,也就是点↓按钮,最低不过0,点↑按钮,最大不会超过100
    slider->setRange(0, 100);//同上

    QObject::connect(spinBox, SIGNAL(valueChanged(int)),slider, SLOT(setValue(int)));
    /*[↑]绑定spinbox的value和slider的值,当spinBox的值改变的时候,相应会将slider的值改变*/
    QObject::connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int)));
    /*[↑]valueChanged(int)为标准库给出的信号,不需要实现,setValue(int)也是标准库给出的槽函数,也不需要实现*/
    spinBox->setValue(35);//设置spinBox的初始值

    QHBoxLayout *layout = new QHBoxLayout;//定义布局
    layout->addWidget(spinBox);//将spinBox添加到布局里面
    layout->addWidget(slider);//将slider添加到布局里面
    window->setLayout(layout);//主窗口window将layout设置为主布局

    window->show();//将window窗口显示出来

    return app.exec();//无限循环此进程,让窗口不消失
}

提示:

56.2K

您好!请登录

合作网站快捷登录:
点击取消回复

已有0评论

    购物盒子

    点击这里给我发消息点击这里给我发消息