进度条、电子钟、工具盒

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    initWidget();
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::initWidget()
{

    //工具盒
    QHBoxLayout *layout = new QHBoxLayout(ui->widget);
    QToolBox *box = new QToolBox();

    //    layout->addWidget(box);
    //    box->setFixedWidth(200);

    QWidget *widget_1 = new QWidget(this);
    QVBoxLayout *layout_1 = new QVBoxLayout(widget_1);
    QToolButton *label_1_1 = new QToolButton();
    QToolButton *label_1_2 = new QToolButton();
    QToolButton *label_1_3 = new QToolButton();
    label_1_1->setText("中国");
    label_1_2->setText("美国");
    label_1_3->setText("日本");
    layout_1->addWidget(label_1_1);
    layout_1->addWidget(label_1_2);
    layout_1->addWidget(label_1_3);
    layout_1->addStretch();
    layout_1->setAlignment(Qt::AlignHCenter);

    QWidget *widget_2 = new QWidget(this);
    QVBoxLayout *layout_2 = new QVBoxLayout(widget_2);
    QToolButton *label_2_1 = new QToolButton();
    QToolButton *label_2_2 = new QToolButton();
    QToolButton *label_2_3 = new QToolButton();
    label_2_1->setText("香蕉");
    label_2_2->setText("桃子");
    label_2_3->setText("苹果");
    layout_2->addWidget(label_2_1);
    layout_2->addWidget(label_2_2);
    layout_2->addWidget(label_2_3);

    QWidget *widget_3 = new QWidget(this);
    QVBoxLayout *layout_3 = new QVBoxLayout(widget_3);
    QToolButton *label_3_1 = new QToolButton();
    QToolButton *label_3_2 = new QToolButton();
    QToolButton *label_3_3 = new QToolButton();
    label_3_1->setText("张磊");
    label_3_2->setText("王三");
    label_3_3->setText("李兆基");
    layout_3->addWidget(label_3_1);
    layout_3->addWidget(label_3_2);
    layout_3->addWidget(label_3_3);

    box->addItem(widget_1,"国家");
    box->addItem(widget_2,"水果");
    box->addItem(widget_3,"人");

    layout->addWidget(box);

    //电子钟
    QHBoxLayout *layout_1_1 = new QHBoxLayout(ui->widget_2);
    number = new QLCDNumber(this);
    layout_1_1->addWidget(number);

    number->setDigitCount(8);// 设置能显示的位数,也将影响字体大小
    number->setMode(QLCDNumber::Dec);// 设置显示的模式为十进制
    number->setSegmentStyle(QLCDNumber::Flat);// 设置显示外观
    number->setStyleSheet("border: 1px solid green; color: green; background: silver;"); // 设置样式


    //进度条
    bar = new QProgressBar(this);
    QHBoxLayout *layout_1_2 = new QHBoxLayout(ui->widget_3);
    layout_1_2->addWidget(bar);
    bar->setRange(0,100);
    QTimer *timer = new QTimer(this);
    connect(timer,SIGNAL(timeout()),this,SLOT(timeOutdone()));
    timer->start(1*1000);


}

void MainWindow::timeOutdone()
{
    if(value == 100)
        value = 0 ;

    value++;
    bar->setValue(value);

    QTime Time = QTime::currentTime();
    number->display(Time.toString("hh:mm:ss")); // 显示的内容
}

你可能感兴趣的:(Qt)