美文网首页
Qt 教程一 —— 第七章:一个事物领导 另一个

Qt 教程一 —— 第七章:一个事物领导 另一个

作者: 葬歌倾城 | 来源:发表于2019-01-16 17:00 被阅读25次

点击按钮,关闭程序 ;滑动单个滑动条改变对应数字显示框的数字;

基于qt5;

显示效果和第六章的显示效果事一样的,只是语句更复杂一点;

//mainwindow.h

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <QVBoxLayout>  //垂直分布控件的声明和调用;

#include <QWidget>      //基础窗口部件的声明和调用;

//前置的滑动条类的声明;

class QSlider;

//声明一个新的类LCDRange继承QWidget;

class LCDRange:public QWidget

{

    Q_OBJECT;

public:

    //继承QWidget的构造函数类LCDRange;

    LCDRange(QWidget *parent=0);

    //查询滑动条的值函数;

    int value() const;

public slots:

    //设置滑动条的值函数;

    void setValue(int);

signals:

    //滑动条数值改变函数;

    void valueChanged(int);

private:

    //设置slider只能被当前类使用;

    QSlider *slider;

};

#endif // MAINWINDOW_H

//main.cpp

#include "mainwindow.h"

#include <QApplication>

#include <QPushButton>    //按钮类的声明和调用;

#include <QSlider>        //滑动条的声明和调用;

#include <QLCDNumber>    //lcd数字显示框的声明和调用;

#include <QVBoxLayout>    //垂直布局控件的声明和调用;

#include <QGridLayout>    //栅格布局控件的声明和调用;

//声明一个新的类MyWidget继承QWidget;

class MyWidget:public QWidget

{

public:

    //继承QWidget的构造函数类MyWidget;

    MyWidget(QWidget *parent=0);

};

//实现构造函数MyWidget;

MyWidget::MyWidget(QWidget *parent):QWidget(parent)

{

    //声明两个新的整形变量r和c,并赋值为0;

    int r=0,c=0;

    //声明一个新的按钮名称quit;

    QPushButton *quit=new QPushButton;

    //定义按钮文本名称为quit;

    quit->setText("quit");

    //定义按钮字体为Times,字号为18,加粗;

    quit->setFont(QFont("Times",18,QFont::Bold));

    //连接信号和槽:当按钮quit被按下时,关闭所有窗口;

    QObject::connect(quit,SIGNAL(clicked()),qApp,SLOT(quit()));

    //声明一个新的栅格布局控件名称为grid;

    QGridLayout *grid=new QGridLayout;

    //循环4次;

    for(r=0;r<4;r++)

        //循环4次;

        for(c=0;c<4;c++)

        {

            //声明一个新的LCDRange类名称为lcdRange;

            LCDRange *lcdRange=new LCDRange;

            //将lcdRange添加到栅格布局控件grid中,位置为r行c列;

            grid->addWidget(lcdRange,r,c);

        }

    //声明一个新的垂直布局控件名称为layout;

    QVBoxLayout *layout=new QVBoxLayout;

    //将按钮quit添加到垂直分布控件lalayout中;

    layout->addWidget(quit);

    //将栅格布局控件grid添加到垂直分布控件lalayout中;

    layout->addLayout(grid);

    //定义当前页面布局为垂直分布布局layout;

    setLayout(layout);

}

//主函数;

int main(int argc,char *argv[])

{

    //创建并且处理这些命令行变量;

    QApplication a(argc, argv);

    //声明一个程序窗口名称为"w";

    MyWidget w;

    //显示"w"窗口;

    w.show();

    //返回exec;

    return a.exec();

}

//mainwindow.cpp

#include "mainwindow.h"

#include <QSlider>    //滑动条类的声明和调用;

#include <QLCDNumber>  //lcd数字显示框的声明和调用;

//实现构造函数LCDRange;

LCDRange::LCDRange(QWidget *parent):QWidget(parent)

{

    //声明一个新的lcd数字显示框名称为lcd

    QLCDNumber *lcd=new QLCDNumber;

    //定义lcd数字显示框lcd的显示位数为3位;

    lcd->setDigitCount(3);

    //声明一个新的滑动条名称为slider;

    QSlider *slider=new QSlider;

    //定义滑动条slider为"水平活动";

    slider->setOrientation(Qt::Horizontal);

    //定义滑动条slider最小值为"0";

    slider->setMinimum(0);

    //定义滑动条slider最大值为"100";

    slider->setMaximum(100);

    //定义滑动条起始位置为"0";

    slider->setValue(0);

    //定义滑动条步进为"1";

    slider->setSingleStep(1);

    //连接信号和槽:当滑动条slider位置发生改变时,显示在lcd数字显示框上面;

    QObject::connect(slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)));

    //声明一个新的垂直分布控件名称为part;

    QVBoxLayout *part = new QVBoxLayout;

    //将lcd数字显示框lcd添加到垂直分布控件part中;

    part->addWidget(lcd);

    //将滑动条slider添加到垂直分布控件part中;

    part->addWidget(slider);

    //定义当前页面布局为垂直分布布局part;

    setLayout(part);

}

//滑动条渲染函数;

int LCDRange::value() const

{

    return slider->value();

}

//滑动条渲染显示函数;

void LCDRange::setValue(int value)

{

    slider->setValue(value);

}

运行效果

有任何问题请留言,感谢支持;

相关文章

网友评论

      本文标题:Qt 教程一 —— 第七章:一个事物领导 另一个

      本文链接:https://www.haomeiwen.com/subject/xpwmdqtx.html