Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Deiv от Январь 21, 2008, 09:00



Название: grabWidget грабит прямоугольную область с фоном. Как сделать без фона?
Отправлено: Deiv от Январь 21, 2008, 09:00
Код:
QPixmap img = QPixmap::grabWidget(v_comboBox_hide);
v_label->setPixmap(img);
На рисунке видно, что 1-й комбобокс и пушбатон отличаются от 2-го комбобокса.
у того вокруг углов серый фон.
Можно както так ограбить виджет, чтобы эти лишние пикселы были прозрачны?

ЗЫ:
мой частный случай решен
v_comboBox_hide создавался в памяти, на экран не выводился, хваталась дефолтная палитра.
назначил ему палитру виджета на котором он появится и уголки перекрасились в синий.
Код:
QPalette v_palette=palette();
v_palette.setColor(QPalette::Background, QColor(20, 60, 150, 255) );
setPalette(v_palette);
// здесь, вновь сазданому комбобоксу назначена палитра основного виджета
v_comboBox_hide = new QComboBox;
v_comboBox_hide->setPalette(v_palette);

ЗЫЫ:
никак нельзя этот фон прозрачным назначить?
чтобы при грабеже не дергать палитру виджета, куда будет помещаться результат.