LINUX.ORG.RU

Два вопроса по Qt


0

0

1)Как очистить QHBoxLayout?

Костыли в духе:

	video_form.vcodec_horizontalLayout->removeWidget
		(
		video_form.vcodec_horizontalLayout->itemAt(0)->widget()
		);

не пашут. Всё же интересно, есть ли способ? Желательно кошерный.

2) Есть ли кошерный метод проверить наличие бинарника приложения? Например, имеется ли в система grep. Без указания прямого пути.


Ответ на: комментарий от Kristi

>2. whereis?


С помощью функции какой-нибудь. Вы предлагаете системный вызов?

ShTH
() автор топика
Ответ на: комментарий от MikeDM

>второй пункт выносит мозг на вылет. поясните толково уважаемый.

Проверить, имеется ли в Unix-подобной системе бинарник приложения, при том не вводя полный путь до него. Т.е. используя PATH. Если не существует, то так и придется делать.

ShTH
() автор топика
Ответ на: комментарий от MikeDM

>придется получить PATH и с ним тестировать.

Раз идей лучше нет, то видимо придется. Что же, надеюсь получить ответ и на первый вопрос.Не получу - переделаю немного. Устала задница (от стула) и голова. Я делаю halt и иду спать.

ShTH
() автор топика

1)

QLayoutIterator it = layout->iterator();
while (it.current()) {
    delete it.current()->widget();
    layout->removeItem(it.current());
    ++ it;
}

как-то так

lester_dev ★★★★★
()

> не пашут

Он удаляет виджет их лэйаута. Сам виджет остается привязанным к своему родителю. После этого надо удалить сам виджет.

Amp ★★★
()
Ответ на: комментарий от Amp

s/После этого/Вместо этого/, деструктор сам отвяжет виджет от контейнера.

или изменить родителя.

или привязать к другому контейнеру.

или просто спрятать этот виджет и контейнер будет его игнорировать.

arsi ★★★★★
()

> 2) Есть ли кошерный метод проверить наличие бинарника приложения? Например, имеется ли в система grep. Без указания прямого пути.

CMake

P1XeL
()

1)Как очистить QHBoxLayout?

Создать пустой Layout, старый удалить, новый запилить на место старого.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

>Создать пустой Layout, старый удалить, новый запилить на место старого.


Как удалить старый? (Он у нас в groupBox)

ShTH
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.