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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: main widget background  (Прочитано 3932 раз)
stima
Гость
« : Декабрь 02, 2011, 20:02 »

Есть class MainForm : public QWidget {}

c
Код:
void MainForm::paintEvent(QPaintEvent *event)
{
    QWidget::paintEvent(event);
    QStyleOption option;
    QPainter painter(this);

    option.init(this);

    style()->drawPrimitive(QStyle::PE_Widget, &option, &painter, this);
}

ему ставится
Код:
setStyleSheet("QWidget#MainForm { border-image: url(:/images/background.png)}");

Ну вопервых:
libpng warning: Interlace handling should be turned on when using png_read_image -- этот варнинг как я понял баг Qt, но он не виляет

Во вторых:
все нормально ставится и отображается, !!но у виджета покраям есть свободное белое место, если ставить QWidget#MainForm { background: red; } то таких приколов нет.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Декабрь 02, 2011, 20:43 »

надо картинке каким-то образом выставить aspect fill, чтоб заполняла все доступное место, жертвуя пропорциями
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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