@Sunter

Не отображается label круг на поле Widget, как исправить?

Класс создание круга на поле
Module::Module(int initialSize, int initialSpeed, int initialAngle,QWidget *field,QObject *parent) : QObject(parent)
{
    size = initialSize;
    speed = initialSpeed;
    angle = initialAngle;
    this->field = field;
}
 
 
void Module::startMoving() {
    // Создаем круг
    int x = (width - size) / 2; // Определяем координату X для размещения круга по центру поля
    int y = (height - size) / 2; // Определяем координату Y для размещения круга по центру поля
 
    circle = new QLabel(field);
    circle->setGeometry(x, y, size, size);
    circle->setStyleSheet("background-color: black; border-radius: " + QString::number(size / 2) + "px;");
}

Класс интерфейса
TBallWindow::TBallWindow(QWidget *parent)
    : QWidget(parent)
{
 
    field = new QWidget(this);
    field->setFixedSize(800, 600);
    field->setStyleSheet("background-color: yellow;");
 
    // Создаем и настраиваем layout
    mainLayout = new QVBoxLayout(this);
    mainLayout->addWidget(field);
    setLayout(mainLayout);
}

Не создается circle на field
Объявление окон
TMainWindow::TMainWindow(QWidget *parent)
    : QWidget(parent)
{
    pw = new TParamWindow();
    ew = new TBallWindow();
    module = new Module(pw->lineEdit1->text().toInt(), pw->lineEdit2->text().toInt(), pw->lineEdit3->text().toInt(),ew->field);
    hl = new QHBoxLayout(this);
    hl->addWidget(pw);
    hl->addWidget(ew);
    setWindowTitle("Имитатор устройства");
    setMinimumSize(QSize(1200,600));
    connect(pw->buttonStart, &QPushButton::clicked, module, &Module::startMoving);
}
  • Вопрос задан
  • 12 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы