Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ресурсозатратность операции show()
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
RazrFalcon
Есть собственный QScrollBar. Который начинает отображаться после определенного количества обработанных элементов.

Выглядит это приблизительно так:
if (count > 10)
    scrollBar->show();
То есть, начиная с 10-и, каждый раз будет вызываться show(). Насколько это затратно?
Также можно сделать что то в духе:
if (count > 10 && scrollBar->isHidden())
    scrollBar->show();
Но не знаю на сколько это лучше...
BRE
Совершенно не затратно.
Вначале метода setVisible есть проверка, если виджет, который хотят показать уже виден, то сразу выйти из метода.
ernie
А если сделать просто if (count == 11) {
scrollBar->show();
}
? :)
sidsukana
Цитата(ernie @ 16.11.2011, 10:01) *
А если сделать просто if (count == 11) {
scrollBar->show();
}
? :)


Вы улавливаете суть того что автор написал?
Если надо > 10 значит там может быть и 12 и 13 и 123.
ernie
Цитата(sidsukana @ 16.11.2011, 13:08) *
Цитата(ernie @ 16.11.2011, 10:01) *
А если сделать просто if (count == 11) {
scrollBar->show();
}
? :)


Вы улавливаете суть того что автор написал?
Если надо > 10 значит там может быть и 12 и 13 и 123.

"Который начинает отображаться после определенного количества обработанных элементов"
Т.е. элементы где-то обрабатываются,потом судя по всему идёт эта проверка,так как автора волнует,что потом это много раз будет вызывать,я полагаю что проверка в цикле,вот оттуда и вывод такой:)
RazrFalcon
Да. Проверка в цикле.
Имелось ввиду то, что затратней: постоянная проверка или show().

А разницы между
if (count > 10)
и
if (count == 11)
в данном случае никакой.
ernie
Цитата(RazrFalcon @ 16.11.2011, 13:44) *
Да. Проверка в цикле.
Имелось ввиду то, что затратней: постоянная проверка или show().

А разницы между
if (count > 10)
и
if (count == 11)
в данном случае никакой.


Разница в том,что show() один раз вызовется только,при count==11 ,а не каждый раз :)
ilyabvt
Цитата
Имелось ввиду то, что затратней: постоянная проверка или show().

Постоянная проверка будет в любом случае. Вопрос был скорее лучше увеличить объем проверки (проверять две переменных вместо одной) или позволить каждый раз вызывать show().
Вариант ernie лучше тем что объем проверки остается тем же, но при этом show() будет вызываться только один раз.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.