Название: CSS и background-image Отправлено: lighting от Май 15, 2009, 16:05 Наверняка вопрос простой, но я как начинающий в QT провозился с ним уже много и ответа для своего случая на форуме не нашел.
Итак, имеется проект со следующими файлами: PreviewWindow.h Код
PreviewWindow.cpp Код
controllerwindow.h Код controllerwindow.cpp Код main.cpp Код
1 - При любых раскладах (и с абсолютным путем к jpg и с относительным, и с css и с QPalette (закоментированным выше)) картинки у меня не подгружаются в принципе. Если менять background, color или любой другой атрибут css то все отображается нормально, но с картинками выходит полный облом. Как это побороть? 2 - В окне ContorollerWindow при запуске появляется кнопка Close которая каким-то образом попадает туда из окна previewwindow т.к. изменение стиля влияет и на нее. Если ее нажать, то она исчезает. Так-же она исчезает если закрыть окно previewwindow, но вот откуда она берется? Пробую все под WinXP, qt 4.5.0 Название: Re: CSS и background-image Отправлено: xokc от Май 15, 2009, 18:31 Использовать синтаксис url(./images/back.png),
где images/back.png - путь относительно папки, где лежит exe файл. Название: Re: CSS и background-image Отправлено: lighting от Май 16, 2009, 21:20 xokc спасибо, это помогло. А по поводу неизвестно откуда появляющейся кнопки ничего подсказать не можешь?
Название: Re: CSS и background-image Отправлено: break от Май 17, 2009, 03:12 у меня такие стайл-шиты:
Код: setStyleSheet("QPushButton {background-image: url(C:/Qt/projects/Test/img/btn_up.jpg);}"); корректно работали даже с абсолютным путем(Linux), но при применении такого стиля к окну (QWidget) - в не которых версиях Qt в упор не хотело работать - приходилось в окне размещать QFrame - кот. растягивался на весь размер окна - и для него устанавливать этот стиль - тогда уже все корректно работало (то есть бекграунд не применялся к родительскому виджету) - в каких версиях это происходило точно не вспомню (4.3, 4.4 ... ) еще были проблемы бекграунда заданного через стиль с формами загружаемыми через uiLoader, также не помню точно версии Qt еще были проблемы что работает в программе - но не показывается в дизайнере, особенно если картинка лежит не файлом на диске а в рсурсах (что для меня было удобно), поэтому в конце концов стал так делать: Еслина на виджете будет задаваться бекграунд стилем - то у этого виджета есть QFrame занимающий всю область - и стиль применен к нему Картинка лежит в ресурсе Если требуется работать в дизайнере и видеть этот фон, тол либо подгружать файл ресурса к форме - либо держать второй стиль (или кусочек) - где этот бекграунд указан как абсолютный файл на диске а не в ресурсе. |