crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V  < 1 2 3 4 > »   
Ответить в данную темуНачать новую тему
> Рисование во вкладках, В каждой вкладке - свой рисунок. Как сделать?
Алексей1153
  опции профиля:
сообщение 2.8.2010, 11:13
Сообщение #11


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(QMainWindow @ 2.8.2010, 14:04) *
Странно, вот если написать QPainter painter(this);, то он все прекрасно рисует... Но только непосредственно в главном окне((

А ничего странного. Ты про ООП слышал когда-нибудь ? :) КАЖДОЕ окно само себя должно рисовать. А ты пытался сделать из одного. Каждая вкладка рисует сама себя. Каждый виджет на каждой вкладке - аналогично
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 2.8.2010, 11:17
Сообщение #12


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ясно. И что тогда делать? Создать отдельный класс для моей PageForGraphic и уже в нем рисовать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 2.8.2010, 12:05
Сообщение #13


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


QMainWindow, ну, начнём с того, что каждая вкладка у тебя - в общем случае отдельный класс. По крайней мере - разные экземпляры точно.
То есть, у тебя есть набор вкладок (которые ты можешь включить в ТАБ или не включать)

QMyTabPage_name1;
QMyTabPage_name2;
QMyTabPage_name3;
...

На каждой вкладке свои контролы. А контролам пофиг, где они лежат - они выполняют/отображают то, что должны :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 2.8.2010, 12:56
Сообщение #14


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


И как это связано с paintevent?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 2.8.2010, 13:03
Сообщение #15


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


А зачем с ним связывать ? Его вообще надо будет переопределить только в том самом самописном контроле, в котором будет график рисоваться.

А для работы с вкладками его трогать не нужно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 2.8.2010, 13:18
Сообщение #16


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


А можно примерчик :) Туго доходит <_<
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 2.8.2010, 13:28
Сообщение #17


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


QMainWindow, не совсем понимаю - пример чего? :)

Давай так: создай новый проект на основе диалога, добавь туда табконтрол, в него несколько вкладок.

Затем тебе нужен самописный (или какой там ты хотел применить) виджет. Его кидаешь на нужные вкладки.

И это всё. Остальное - детали реализации того виджета (в частности - рисование)

Проект прикрепи - где остановился скажи :)


[offtop]
Прикольная ситуация - класс QMainWindow задаёт вопросы про работу QWidget :))
[/offtop]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 2.8.2010, 16:29
Сообщение #18


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


Выкладываю непосредственно саму программу. Делать стал недавно, поэтому там мало чего еще написано. Все, что я показывал здесь находится в mainwindow.cpp. Вот ссылка на скачку: http://ifolder.ru/18745087. Если поможите, буду оч. благодарен :) Просто не возьму в толк, что писать-то надо?)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.8.2010, 16:43
Сообщение #19


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


QMainWindow, тебе уже говорили на прогорге, рисовать можно "только" в событии paintEvent. Под сделай виджет для рисования подразумевалось не
new QWidget
а создание собственного класса-наследника от QWidget или другого, более подходящего. В обработчике paintEvent этого класса и рисуй.

Цитата(Алексей1153 @ 2.8.2010, 17:28) *
Прикольная ситуация - класс QMainWindow задаёт вопросы про работу QWidget
да, к стати.

QMainWindow, Придумай себе новый ник, иначе в сообщениях будет каша.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 2.8.2010, 16:51
Сообщение #20


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


Так я это уже спрашивал, вот:
Цитата(QMainWindow @ 2.8.2010, 12:17) *
Ясно. И что тогда делать? Создать отдельный класс для моей PageForGraphic и уже в нем рисовать?

Имел в виду, конечно, не просто QWidget, а свой класс, который унаследует все от QWidget. И то, что рисовать можно только в paintEvent это я тоже знаю, вот и спрашиваю, что нужно дописать/создать, чтобы в нем рисовать график для моей вкладки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

5 страниц V  < 1 2 3 4 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.4.2024, 7:32