QPushButton не работает при добавлении другого виджета в проект на Qt С++

Я работаю над проектом на Qt, в котором у меня есть несколько виджетов, включая WidgetsPlace, TasksPlace и OtherPlace. Когда я добавляю виджет OtherPlace в главное окно, кнопка добавления задачи в TasksPlace называеться она " addTask " перестает работать.

WidgetsPlace тут не будет, так как он не нужен для решения проблемы

вот весь мой код:

MainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QWidget>

class MainWindow : public QWidget {
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
};

#endif // MAINWINDOW_H

MainWindow.cpp

#include "../file.h/MainWindow.h"
#include "../file.h/WidgetsPlace.h"
#include "../file.h/TasksPlace.h"
#include "../file.h/OtherPlace.h"

MainWindow::MainWindow(QWidget *parent) : QWidget(parent) {
    setWindowTitle("BlackHoll");
    setFixedSize(1600, 1000);
    setStyleSheet("background-color: #1E1E1E;");

    /// для Widget ///
    WidgetsPlace *divLeftWidgetsPlade = new WidgetsPlace(this);

    /// для Tasks ///
    TasksPlace *divLeftTasksPlase = new TasksPlace(this);

    /// для всего остального ///
    OtherPlace *divOtherPlace = new OtherPlace(this);
}

MainWindow::~MainWindow() {

}

TasksPlace.h

#ifndef LEFTPANEL_H
#define LEFTPANEL_H

#include <QVBoxLayout>
#include <QWidget>

class TasksPlace : public QWidget {
    Q_OBJECT

public:
    TasksPlace(QWidget *parent = nullptr);

private:
    QVBoxLayout *tasksLayout;
    QWidget *divLeftTasksPlase;
    QWidget *dviWidgetBack;
    // int minItemTasksLayout;
    // const int maxItemTabTask = 3;
    // int minItemTabTask;

private slots:
    void addTask();
    // void addNode();
};

#endif // LEFTPANEL_H

TasksPlace.cpp

#include "../file.h/TasksPlace.h"

#include <QPushButton>
#include <QWidget>
#include <QScrollArea>
#include <QLineEdit>
#include <QDebug>
#include <QScrollBar>

TasksPlace::TasksPlace(QWidget *parent) : QWidget(parent) {

    /// место ///
    QWidget *divLeftTasksPlase = new QWidget(this);
    divLeftTasksPlase->setGeometry(54, 0, 300, 1000);
    divLeftTasksPlase->setStyleSheet("background-color: #D9D9D9;");

    /// место для Layout ///
    QScrollArea *scrollAreaPlaceTasksLayout = new QScrollArea(divLeftTasksPlase);
    scrollAreaPlaceTasksLayout->setGeometry(28, 0, 270, 1000);
    scrollAreaPlaceTasksLayout->setWidgetResizable(true);
    QWidget *placeTasksLayout = new QWidget();
    placeTasksLayout->setGeometry(28, 0, 240, 1000);
    placeTasksLayout->setStyleSheet("background-color: #D9D9D9;");
    scrollAreaPlaceTasksLayout->setWidget(placeTasksLayout);
    scrollAreaPlaceTasksLayout->verticalScrollBar()->setStyleSheet("QScrollBar:vertical { background: #D9D9D9; width: 0px; }");
    scrollAreaPlaceTasksLayout->setStyleSheet(
    "QScrollArea { border: none;}"
    );

    /// Layout ///
    tasksLayout = new QVBoxLayout(placeTasksLayout);
    tasksLayout->setAlignment(Qt::AlignTop);

    /// кнопка для добовления Tasks ///
    QPushButton *addTask = new QPushButton ("", divLeftTasksPlase);
    addTask->setFixedSize(230, 37);
    addTask->setStyleSheet("background-color: #AAAAAA;"
                            "border-radius: 10px");

    tasksLayout->addSpacing(12);
    tasksLayout->addWidget(addTask);
    tasksLayout->addSpacing(20);

    connect(addTask, &QPushButton::clicked, this, &TasksPlace::addTask);
}

void TasksPlace::addTask() {

    qDebug() << "addTask slot called";

    /// создание inTask ///
    QLineEdit *inTasks = new QLineEdit (divLeftTasksPlase);
    inTasks->setAlignment(Qt::AlignCenter);
    inTasks->setFixedSize(236, 37);
    inTasks->setStyleSheet("border-radius: 10px;"
                            "background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #AFAFAF, stop:1 #D9D9D9);");
    inTasks->show();

    /// добовление inTask ///
    tasksLayout->addSpacing(5);
    tasksLayout->addWidget(inTasks);

    // dviWidgetBack->setGeometry(275, 20, 30, 955); /// x = 275 y = 20 h = 955

    // minItemTasksLayout++;

};

OtherPlace.h

#ifndef OTHERPLACE_H
#define OTHERPLACE_H

#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>

class OtherPlace : public QWidget {
    Q_OBJECT

public:
    OtherPlace(QWidget *parent = nullptr);

};

#endif // OTHERPLACE_H

OtherPlace.cpp

#include "../file.h/OtherPlace.h"

#include <QScrollArea>
#include <QScrollBar>
#include <QLabel>
#include <QVBoxLayout>
#include <QPushButton>

OtherPlace::OtherPlace(QWidget *parent) : QWidget(parent) {

    /// создание Other ///
    QWidget *divOtherPlace = new QWidget(this);
    divOtherPlace->setStyleSheet("background-color: #1E1E1E;");
    divOtherPlace->setGeometry(354, 0, 1246, 1000);

    /// место для Img ///
    QWidget *divImgPlace = new QWidget(divOtherPlace);
    divImgPlace->setStyleSheet("background-color: #1E1E1E;"
                               "border-radius: 10px;");
    divImgPlace->setGeometry(309, 20, 910, 150);

    /// шапка ///
    QLabel *imageLabel = new QLabel(divImgPlace);
    QPixmap pixmap("../src/img/fon.png");
    imageLabel->setPixmap(pixmap);

    /// место где будут Nodes ///
    QScrollArea *scrollArea = new QScrollArea(divOtherPlace);
    scrollArea->setGeometry(10, 21, 270, 955);
    scrollArea->setWidgetResizable(true);
    QWidget *placeWidgetTabLayout = new QWidget();
    placeWidgetTabLayout->setStyleSheet("background-color: #1E1E1E;");
    placeWidgetTabLayout->setGeometry(10, 0, 254, 952);
    scrollArea->setWidget(placeWidgetTabLayout);
    scrollArea->verticalScrollBar()->setStyleSheet("QScrollBar:vertical { background: #1E1E1E; width: 0px; }");
    scrollArea->setStyleSheet(
    "QScrollArea { border: none;}"
    );

    /// Layout для Nodes ///
    QVBoxLayout *layoutWidgetTab = new QVBoxLayout(placeWidgetTabLayout);
    layoutWidgetTab->setAlignment(Qt::AlignTop);

    /// разделитель с кнопками ///
    QWidget *dviWidgetBack = new QWidget(divOtherPlace);
    dviWidgetBack->setStyleSheet("background-color: #D9D9D9;"
                                    "border-top-right-radius: 20px;"
                                    "border-bottom-right-radius: 20px;"); /// border-radius: 20px
    dviWidgetBack->setGeometry(0, 0, 30, 1000); /// x = 275 y = 20 h = 955
}



Ответы (0 шт):