crossplatform.ru

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

Gluck
  опции профиля:
сообщение 9.2.2010, 15:48
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 9.2.2010
Пользователь №: 1457

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




Репутация:   0  


Почитал я тут похожие темы, но ответа как-то не нашёл. Есть ActiveX виджет, к нему child'ом приделан обычный виджет (который рисуется поверх activeX'ного виджета). И очень хочется, чтобы обычный виджет был полупрозрачным (причем целиком. В соседней теме SABROG писал, что "надо разделить понятие полу-прозрачности и частичной полу-прозрачности. Первое не вопрос, второе гемор." Вот тут первая ситуация). Код, например такой:
class TestWidget : public QWidget
{
public:
  TestWidget( QWidget* parent )
    : QWidget( parent,  )
  {
    QHBoxLayout* layout = new QHBoxLayout();
    layout->addWidget( new QPushButton( "qweqwe" ));
    layout->addWidget( new QPushButton( "qwe" ));
    setLayout( layout );
  }
};
// -------
// в конструкторе класса, пронаследованного от QMainWindow
QAxObject* activeXWidget = new QAxObject( this );
// ... тут делается setControl()
QWidget* testWidget = new TestWidget( activeXWidget );
setCentralWidget( activeXWidget );

Как бы такое можно было сделать? Причем, задача-максимум, чтобы можно было этот виджет нарисовать в Qt Designer'e и потом просто динамически подгрузить. ( Я пытался в нём определять styleSheet как "background-color: rgba(0, 255, 0, 30)", но результаты оказались очень странными).
P.S.: Qt 4.6.0
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Gluck
  опции профиля:
сообщение 19.2.2010, 12:46
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 9.2.2010
Пользователь №: 1457

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




Репутация:   0  


Цитата(Rocky @ 18.2.2010, 21:40) *
Когда в paintEvent стоял вызов Qpainter::eraseRect(...)

Попробовал вставить туда eraseRect. В результате оно закрасило виджет (который должен быть прозрачным) уветом фона (сереньким непрозрачным), и поверх уже с прозрачностью нарисовалось то, что надо. Но всё-таки нужно, чтобы под виджетом просвечивал activeX'ный виджет...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 24.6.2025, 10:32