Russian Qt Forum
Ноябрь 26, 2024, 00:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFrame update  (Прочитано 5975 раз)
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« : Март 16, 2008, 23:48 »

Привет Всем.
Я написал прогу под виндой (Qt4.3.4), и все работает чудесно.
Скомпилил ее под линух и очень заметно мерцание между переходами фреймов и всех обьектов к которым применяю setVisible(true/false).
Можед двойная буферизация отключена ?
Как поправить это ?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Март 17, 2008, 09:14 »

может это то, что тебе надо: Быстро и без мерцаний
Записан

Юра.
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #2 : Март 19, 2008, 00:38 »

Пробую, спасибо!
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #3 : Март 19, 2008, 03:15 »

Должно быть решением Qt::WRepaintNoErase
но как это использовать ?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #4 : Март 19, 2008, 03:51 »

сильно извиняюсь, я тебя не вту сторону отправл, эта статья относительно Qt3, и флаг устаревший Грустный

в асистенете глянь Qwidget, раздел transparency-and-double-buffering, вот в онлайне, из всего что связано с отбражением я только с autoFillBackground эксперементировал, он поумолчанию выключен
Записан

Юра.
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #5 : Март 20, 2008, 00:38 »

autoFillBackground не помагает,
я еще выложил скриншоты во сдесь http://www.qtforum.org/thread.php?threadid=24387
Что ни у кого не было с этим проблем ?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Март 20, 2008, 05:57 »

Что ни у кого не было с этим проблем ?
да больше двух я не применял и использовал QStackedWidget проблем небыло, а ты, кстати, используешь QStackedWidget?
Записан

Юра.
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #7 : Март 20, 2008, 19:53 »

Нашел решение,
Вот:
Код:
updatesEnabled : bool

This property holds whether updates are enabled.

An updates enabled widget receives paint events and has a system background; a disabled widget does not. This also implies that calling update() and repaint() has no effect if updates are disabled.

setUpdatesEnabled() is normally used to disable updates for a short period of time, for instance to avoid screen flicker during large changes. In Qt, widgets normally do not generate screen flicker, but on X11 the server might erase regions on the screen when widgets get hidden before they can be replaced by other widgets. Disabling updates solves this.

Example:
setUpdatesEnabled(false);
bigVisualChanges();
setUpdatesEnabled(true);

Disabling a widget implicitly disables all its children. Enabling respectively enables all child widgets unless they have been explicitly disabled. Re-enabling updates implicitly calls update() on the widget.

Access functions:
bool updatesEnabled () const
void setUpdatesEnabled ( bool enable )

Может комуто пригодится..
Удачи Всем!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.117 секунд. Запросов: 22.