crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> grabWidget скрытого виджета, некорректно грабится
mezmay
  опции профиля:
сообщение 28.2.2011, 12:17
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 272
Регистрация: 13.7.2009
Из: Ростов-на-Дону
Пользователь №: 904

Спасибо сказали: 16 раз(а)




Репутация:   1  


Есть виджет (QWebView) , в него загружена картинка. Делаю этому виджету hide() (он в лейауте, если это важно), а потом QPixmap::grabWidget(). В результате pixmap содержит только половину положенного изображения - вторая половина серая. Почему?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
mezmay
  опции профиля:
сообщение 28.2.2011, 17:04
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 272
Регистрация: 13.7.2009
Из: Ростов-на-Дону
Пользователь №: 904

Спасибо сказали: 16 раз(а)




Репутация:   1  


В CMapWidget лейаут, в нем поочередно отображаются или класс Google карты или класс Yandex карты.
(Одному делается hide(), другому - show()):

class CBaseMap : public QWebView
...
class CGoogleMap : public CBaseMap
...
class CYandexMap : public CBaseMap
...
class CMapWidget : public QWidget
{
...
...
private:
    bool                    m_bMap;                
    CBaseMap*               m_maps[2];              
    QPixmap                 m_pix;                  
};

bool __stdcall CMapWidget::create()
{
...
...
    QVBoxLayout *vLayout = new QVBoxLayout();

    m_maps[Google] = new CGoogleMap(this);
    m_maps[Yandex] = new CYandexMap(this);

    vLayout->addWidget(m_maps[Google]);
    vLayout->addWidget(m_maps[Yandex]);

    setLayout(vLayout);
}

QPixmap* __stdcall CMapWidget::currentPixmap()
{
    // грабим НЕотображаемую в данный момент карту
    m_pix = QPixmap::grabWidget(m_maps[!m_bMap], m_maps[!m_bMap]->rect());

    return &m_pix;        
}

bool __stdcall CMapWidget::saveCurrentArea( const char* fileName )
{
    return currentPixmap()->save(fileName, "JPG", 100);
}


прилагаются файлы:
1.jpg, 2.jpg - пример некорректного сохранения
3.jpg - как должно было бы сохраняться
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 8:46