Russian Qt Forum

Qt => Общие вопросы => Тема начата: megido от Июнь 15, 2016, 02:14



Название: как убрать отступы от виджетов?
Отправлено: megido от Июнь 15, 2016, 02:14
нашел вроди
Код:
my_widget->layout()->setSpacing(0);
но моя программа закрывается сразу же. без  ошибки как только они отрисовываются

Код:
    QAudioLevel *level = new QAudioLevel(ui->centralwidget);
    audioLevels.append(level);
    ui->levelsLayout->addWidget(level);
    level->layout()->setSpacing(0);
    audioLevels.at(0)->setLevel(0.45);

ппц так это надо лайоуту задавать,тогда что эта функция делает в виджете?


Название: Re: как убрать отступы от виджетов?
Отправлено: carrygun от Июнь 15, 2016, 05:09
Скорее всего нет лэйаут менеджера: http://doc.qt.io/qt-5/qwidget.html#layout (http://doc.qt.io/qt-5/qwidget.html#layout). Нам же не известно что у вас в классе QAudioLevel творится.
Судя по всему нужно вот этому лэйауту задавать отступ: levelsLayout. Да и без картинки тоже не понятно что куда.


Название: Re: как убрать отступы от виджетов?
Отправлено: gil9red от Июнь 15, 2016, 07:08
ппц так это надо лайоуту задавать,тогда что эта функция делает в виджете?

layout'ы или компоновщики разные бывают и они для виджета не обязательные, поэтому по-умолчанию layout() вернет 0 (или nullptr)


Название: Re: как убрать отступы от виджетов?
Отправлено: kambala от Июнь 15, 2016, 12:43
у виджета есть setMargin()