Название: Qt style sheet и наследник QWidget Отправлено: xokc от Декабря 02, 2009, 21:05 Почему к наследнику QWidget неприменимы стили?
Код: class QWidgetChild : public QWidget Название: Re: Qt style sheet и наследник QWidget Отправлено: Blayder от Декабря 02, 2009, 21:34 Цитировать Если вы создаете подкласс от QWidget, вам нужно предоставить paintEvent вашему QWidget как показано ниже: http://doc.crossplatform.ru/qt/4.5.0/stylesheet-reference.html#list-of-stylable-widgetsvoid CustomWidget::paintEvent(QPaintEvent *) { QStyleOption opt; opt.init(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); } Вышеприведенный код ничего не делает в случае отсутствия таблицы стилей. Название: Re: Qt style sheet и наследник QWidget Отправлено: lit-uriy от Декабря 02, 2009, 21:40 xokc, Попробуй не фон заливать, либо поиграть со свойством setAutoFillBackground.
Стили должны применятся П.С. Засуни для начала виджеты в компоновщик, а то непонятно их взаимное положение, может один под другим Название: Re: Qt style sheet и наследник QWidget Отправлено: xokc от Декабря 03, 2009, 06:28 xokc, Попробуй не фон заливать, либо поиграть со свойством setAutoFillBackground. Нет, эти варианты ничего не дают. Приведенный код просто максимально упрощенное представление. Пробовал уже все это во всех проявлениях. Гляну сегодня еще способ от Blayder, хотя и терзают меня смутные сомнения по этому поводу.Стили должны применятся П.С. Засуни для начала виджеты в компоновщик, а то непонятно их взаимное положение, может один под другим Название: Re: Qt style sheet и наследник QWidget Отправлено: xokc от Декабря 03, 2009, 20:31 Цитировать Если вы создаете подкласс от QWidget, вам нужно предоставить paintEvent вашему QWidget... Спасибо сделал именно так и все заработало. |