#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;
}
}