Ничего не получается с рисованием на виджете |
Здравствуйте, гость ( Вход | Регистрация )
Ничего не получается с рисованием на виджете |
Гость_Тёма_* |
10.10.2007, 7:49
Сообщение
#1
|
Гости |
Как вообще рисовать в Qt?
|
|
|
ViGOur |
10.10.2007, 7:56
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Для того, чтобы рисовать, тебе понадобится переопределить void QWidget::paintEvent ( QPaintEvent * event ) [virtual protected]
Есть статья в которой описывается как рисовать и как избавиться от мерцания при рисовании: Быстро и без мерцаний Думаю, там достаточно хорошо все описано. |
|
|
Don |
23.4.2008, 21:52
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 59 Регистрация: 19.3.2008 Пользователь №: 127 Спасибо сказали: 0 раз(а) Репутация: 0 |
Плиз, выложите кто-нить ПОЛНЫЙ небольшой пример, где на форме будет что-нить рисоваться (линия, круг, квадрат, что угодно). А то я трох разобрался с помощью чего что рисуется, а вот как всё это вывести не догоняю.
|
|
|
AD |
23.4.2008, 22:21
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Плиз, выложите кто-нить ПОЛНЫЙ небольшой пример, где на форме будет что-нить рисоваться (линия, круг, квадрат, что угодно). А то я трох разобрался с помощью чего что рисуется, а вот как всё это вывести не догоняю. Вот пример из книжки Бланшета и Саммерфилда. В примере происходит отрисовка графиков. Используется двойная буферизация, что на данный момент уже необязательно делать! plotter.h
plotter.cpp
main.h
plotter.pro
Причина редактирования: теперь можно включать подсветку [code=cpp]
|
|
|
Andrew Selivanov |
23.4.2008, 22:40
Сообщение
#5
|
Участник Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6 |
Плиз, выложите кто-нить ПОЛНЫЙ небольшой пример, где на форме будет что-нить рисоваться (линия, круг, квадрат, что угодно). А то я трох разобрался с помощью чего что рисуется, а вот как всё это вывести не догоняю. Вот пример из книжки Бланшета и Саммерфилда. В примере происходит отрисовка графиков. Используется двойная буферизация, что на данный момент уже необязательно делать! <... skipped ...> <Andrew stepped in> Я тут немного вмешаюсь, кажется у нас теперь работает syntax highlight для тега code, я сегодня пробовал иии to Admin -> блин видимо назревает необходимость Wiki... <Andrew stepped out> |
|
|
Don |
24.4.2008, 17:07
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 59 Регистрация: 19.3.2008 Пользователь №: 127 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да уж, маленький примерчик.
Какие именно функции отвечают за отображение нарисованных элементов? Как именно переопределяется paintEvent? И может кто чиркануть простой пример, где на форме просто рисуется линия, на простеньком примере проще разобраться, а потом уже рисовать всякие там графики. P.S. Наверное это и глупые вопросы, но помогите плиз, очень надо. Я в Qt недавно. |
|
|
ViGOur |
24.4.2008, 17:11
Сообщение
#7
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Маленький пример: каким способом проще рисовать поверх рисунка, о рисовании в очередной раз.
|
|
|
Litkevich Yuriy |
24.4.2008, 17:16
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Из книжки Макса Шлее:
|
|
|
AD |
24.4.2008, 17:31
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
- рисование линииразмером (100, 200)! - рисование прямоугольника - а вот и переопределение функции paintEvent, которая является виртуальной.Не понял, чем пример-то плох? |
|
|
Don |
24.4.2008, 17:46
Сообщение
#10
|
Студент Группа: Новичок Сообщений: 59 Регистрация: 19.3.2008 Пользователь №: 127 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо! Теперь понял.
У меня ещё один вопрос: Как нарисованные элементы прицепить к созданному виджету? Т.е. я создаю окно (QWidget wndow; .... window.show()), которому задаю нужные свойства и размещаю на нём кнопки, метки и т.д. А как к нему добавить рисунок? |
|
|
Текстовая версия | Сейчас: 29.3.2024, 14:34 |