![]() |
|
![]() ![]() ![]() |
|
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 ) ![]() |
|||
|
||||
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 ) ![]() |
|||
|
||||
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, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |