Exemple #1
0
QFrame* MainWindow::initDragFrame(QWidget *parent)
{
    QFrame *frame = new QFrame(parent);

    QLabel *logoLabel = new QLabel(frame);
    QLabel *dragLabel = new QLabel("Drop Folders Here Or", frame);
    //QPushButton *addFilesButton = new QPushButton("Select files", frame);
    QPushButton *addFilesButton = new QPushButton("Select Folder", frame);

    logoLabel->setPixmap(QPixmap(":/resources/logo.png"));
    dragLabel->setAlignment(Qt::AlignCenter);

    QHBoxLayout *mainLayout = new QHBoxLayout(frame);
    QVBoxLayout *addFilesLayout = new QVBoxLayout();

    addFilesButton->setFixedSize(290, 30);

    addFilesLayout->setAlignment(Qt::AlignCenter);
    addFilesLayout->addWidget(dragLabel);
    addFilesLayout->addWidget(addFilesButton);

    mainLayout->addSpacing(25);
    mainLayout->addWidget(logoLabel);
    mainLayout->addLayout(addFilesLayout);
    mainLayout->addSpacing(65);

    frame->setFixedSize(570, 155);
    frame->setObjectName("add_files_frame");
    frame->setStyleSheet("QFrame#add_files_frame {"
                         "border: 3px dashed rgb(220, 220, 220);"
                         "border-radius: 24px"
                         "}"
                         "QPushButton {"
                         "background: qlineargradient(x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgb(245, 245, 245), stop:1 rgb(214, 214, 214));"
                         "border: 1px solid rgb(171, 171, 171);"
                         "border-radius: 5px"
                         "}"
                         "QPushButton:pressed {"
                         "background: qlineargradient(x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgb(214, 214, 214), stop:1 rgb(230, 230, 230));"
                         "}"
                         "QWidget {"
                         "font: bold 13px \"Arial\";"
                         "color: rgb(58, 58, 58);"
                         "}");

    setMinimumWidth(frame->width()+10);

    //connect(addFilesButton, &QPushButton::clicked, this, [=](){ filesList->addFiles(QFileDialog::getOpenFileNames(this, "Select Files")); });
    connect(addFilesButton, &QPushButton::clicked, this, [=](){ filesList->addFolder(QFileDialog::getExistingDirectory(this, "Select Directory")); });


    return frame;
}