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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Установка картинки фоном через stylesheet [Qt4]  (Прочитано 19352 раз)
Crazy Sage
Гость
« : Сентябрь 12, 2014, 08:36 »

Добрый день, разбираюсь с css в qt и что-то не могу разобраться.
Есть главное окно, которому хочется сделать картинку фоном и видоизменить кнопки. С кнопками всё нормально, а вот с фоном проблемы

Структура объектов в QtDesigner'е
PlayArea QMainWindow
-centralWidget QWidget
--button1 QPushButton
--button2 QPushButton
--button3 QPushButton
--button4 QPushButton

Делаю styleSheet для верхнего объекта (PlayArea)
варианты
Код:
#PlayArea{
background-image: url(:/files/images/big_window.png);
}

Код:
PlayArea{
background-image: url(:/files/images/big_window.png);
}

Код:
QMainWindow{
background-image: url(:/files/images/big_window.png);
}

Код:
#centralWidget{
background-image: url(:/files/images/big_window.png);
}

Код:
QWidget#centralWidget{
background-image: url(:/files/images/big_window.png);
}

не работают
единственный вариант, при котором у меня установился фон это
Код:
QWidget{
background-image: url(:/files/images/big_window.png);
}

Но в такой ситуации у всех кнопок ставится фоном эта же картинка, что меня совершенно не устраивает. Что я делаю не так?
Записан
OKTA
Гость
« Ответ #1 : Сентябрь 12, 2014, 09:25 »

Код показывай.
Записан
Crazy Sage
Гость
« Ответ #2 : Сентябрь 12, 2014, 09:27 »

Всё собрано в дизайнере, никакого кода кроме этой структуры классов и стайлшита нету. Могу конечно выложить мэйн, который делает PlayArea p->show(), но вряд ли в нём дело.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #3 : Сентябрь 12, 2014, 09:31 »

Да, странно. Можешь попробовать QSS задать напрямую для centralWidget(), так работает. Или вот так:

Код:
QMainWindow > QWidget {
background: yellow;
}

Правда этот вариант также затрагивает меню и статусбар.
Записан

Гугль в помощь
OKTA
Гость
« Ответ #4 : Сентябрь 12, 2014, 09:38 »

Задавай лучше не в дизайнере, а через QApplication::setStyleSheet. Простого
Код:
QMainWindow{
background-image: url(:/files/images/big_window.png);
}
должно хватить без проблем.
Записан
VPS
Гость
« Ответ #5 : Сентябрь 12, 2014, 09:58 »

Да, странно. Можешь попробовать QSS задать напрямую для centralWidget(), так работает. Или вот так:

Код:
QMainWindow > QWidget {
background: yellow;
}

Правда этот вариант также затрагивает меню и статусбар.
Если обращаться по имени в поле "objectName" (например, по умолчанию - "#centralwidget"), то не должно ничего другого "задеть ".
Записан
Bepec
Гость
« Ответ #6 : Сентябрь 12, 2014, 14:42 »

в Qt 4 имеется баг. Нельзя задать фоновую картинку главному окну.
Можно обойти, поставив на главное окно фрейм с нулевыми полями.
Записан
OKTA
Гость
« Ответ #7 : Сентябрь 12, 2014, 14:45 »

Уверен, Верес? Я тут ради интереса создал проект с QMainWindow и впиндюрил этому QMainWindow фоновую картинку только что Непонимающий
Записан
Bepec
Гость
« Ответ #8 : Сентябрь 12, 2014, 14:49 »

Ммм.. уверен для 4.7.2. Сейчас уже отошёл от него на пятёрку.
Записан
OKTA
Гость
« Ответ #9 : Сентябрь 12, 2014, 14:51 »

В 4.7.4 проверял!
Записан
Bepec
Гость
« Ответ #10 : Сентябрь 12, 2014, 15:35 »

Знач там уже поправлено Улыбающийся
Записан
Crazy Sage
Гость
« Ответ #11 : Сентябрь 12, 2014, 15:46 »

Странно, в 4.8.6 не работает с QMainWindow.
Спасибо за совет с фреймом, воспользовался им.
С centralwiget'ом впрочем тоже была нелепая ошибка, не заметил что там w маленькая.
Спасибо всем.
Записан
Bepec
Гость
« Ответ #12 : Сентябрь 12, 2014, 16:13 »

Ххы, всё же выплыл баг Веселый
Записан
OKTA
Гость
« Ответ #13 : Сентябрь 12, 2014, 16:29 »

 Непонимающий какие-то происки WinAPi, не иначе  Смеющийся
Записан
Bepec
Гость
« Ответ #14 : Сентябрь 12, 2014, 16:36 »

Да там весёлые тролли писали, у них даже в стандартных стайлшитах вместо 0 в цвете написано O Веселый
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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