![]() |
|
|
![]()
|
|
| asd |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
День добрый прошу объяснить, в чём кроется ошибка.
Суть: пишу код
получаю картинку: ![]() теперь пишу такой код: main.cpp
widget.cpp
widget.h
получаю картинку: ![]() Я ожидал, что будет синий квадрат на w_base размером 100x100 а на нём красный текст. Почему стиль установился только для QLabel? Это сообщение отредактировал(а) asd - 8.12.2009, 13:36 |
||||||||
|
|||||||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Создавал в QtCreator'e своим способом, всё работает (Qt 4.6.0).
Присоединённый файл ( Кол-во скачиваний: 4 )
stylesheetbug.zip 1,55 Kb |
|||
|
||||
| asd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
У вас Widget родительское окно, а QWidget дочернее. У меня так тоже всё нормально. А вот наоборот не получается. QT 4.5.0 сейчас 4.6 качну, посмотрю.
4.6 то же что и на скриншотах в 1-ом посте Это сообщение отредактировал(а) asd - 9.12.2009, 11:00 |
|||
|
||||
| asd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
В аттаче проект. Я совсем не понимаю, почему так происходит при смене родительского окна(строки 8,9 в main.cpp).
Кстати, если вместо class Widget : public QWidget сделать так: class Widget : public QFrame то всё отображается так, как я ожидаю. Присоединённый файл ( Кол-во скачиваний: 2 )
TestWidget.rar 2,86 Kb |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Щас посмотрю... Это сообщение отредактировал(а) SABROG - 9.12.2009, 11:29 |
|||
|
||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Посмотрел. тут список виджетов, которые поддерживают style sheet'ы.
Изначально сам QWidget не поддерживает стили, пока ты не добавишь ему эту возможность. Как и написано в документации надо переопределить paintEvent и добавить следующие строки:
Если посмотреть исходники Qt, то видно, что сам QWidget даже себя и не отрисовывает никак:
Это сообщение отредактировал(а) SABROG - 9.12.2009, 12:13 |
||||
|
|||||
| asd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
Спасибо большое, работает.
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |