【无标题】

 #ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtWidgets>
#include <QPushButton>
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
private slots:
    void onArrowButtonClicked();
private:
    Ui::MainWindow *ui;
   QList< QPushButton*>buttons;
    int n=6;
   int index=0;
};

#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"

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

    QPushButton *button1=new QPushButton("1",this);
    QPushButton *button2=new QPushButton("2",this);
    QPushButton *button3=new QPushButton("3",this);
    QPushButton *button4=new QPushButton("4",this);
    QPushButton *button5=new QPushButton("5",this);
    QPushButton *button6=new QPushButton("6",this);
    QPushButton*arrowBut=new QPushButton("<",this);
    ui->horizontalLayout_2->addWidget(arrowBut);
    ui->horizontalLayout_2->addWidget(button1);
    ui->horizontalLayout_2->addWidget(button2);
    ui->horizontalLayout_2->addWidget(button3);
    ui->horizontalLayout_2->addWidget(button4);
    ui->horizontalLayout_2->addWidget(button5);
    ui->horizontalLayout_2->addWidget(button6);
    buttons={button1,button2,button3,button4,button5,button6};

    button5->hide();
    button6->hide();
    QPushButton*arrowButton=new QPushButton(">",this);
    ui->horizontalLayout_2->addWidget(arrowButton);
    arrowButton->setGeometry(370,10,50,30);


    connect(arrowBut,&QPushButton::clicked,[&](){
        if(index>0){
            buttons[index+3]->setVisible(false);
            buttons[index-1]->setVisible(true);
           index=index==0?0: --index;
        }
    });
    connect(arrowButton,&QPushButton::clicked,this,&MainWindow::onArrowButtonClicked);


}

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

void MainWindow::onArrowButtonClicked()
{
    if(index<n-4){
        buttons[index]->setVisible(false);
        buttons[index+4]->setVisible(true);
        ++index;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值