crossplatform.ru

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

QMainWindow
  опции профиля:
сообщение 1.8.2010, 15:42
Сообщение #1


Участник
**

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

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




Репутация:   0  


Доброго дня!
Ситуация: делаю прогу для построения графиков. Графики хочу, чтобы рисовались во вкладках (одна вкладка - один график). Не знаю, как заставить рисовальщик рисовать в нужной мне вкладке. Создаю, соответственно, в главном окне QTabWidget, в котором создаю вкладку. Сразу же после ее создания должен в ней отобразиться график. Как это сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
QMainWindow
  опции профиля:
сообщение 2.8.2010, 10:33
Сообщение #2


Участник
**

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

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




Репутация:   0  


Прочитал еще в первый раз, не разобрался тогда. Теперь понятно как размещать страницы во вкладках. Но пейнтер все равно не рисует. Говорит, что не активирован. Вот код:
tabWidget = new QTabWidget(centralwidget);
    tabWidget->setObjectName(QString::fromUtf8("TabWidget"));
    tabWidget->setGeometry(QRect(5, 30, width()-10, height()-85));
    PageForGraphic = new QWidget;
    PageForGraphic->setGeometry(QRect(5, 30, width()-10, height()-85));

Этот код записан в конструкторе Главного окна. Далее:
void MainWindow::InTabs()
{
    tab = new QWidget(); //Создаем вкладку.
    PageForGraphic->setParent(tab); //Называем ее родителем.
    tabWidget->addTab(tab, QString::fromLocal8Bit("Ãðàôèê %1").arg(tabWidget->count()+1)); //Добавляем ее на TabWidget.
    tabWidget->setCurrentWidget(tab); //Подсвечивем.
}

Этот код записан в отдельной функции. В нее посылается сигнал из диалогового окна, приказывающий создать собственно вкладку. Далее:
void MainWindow::RunMNK(double *PointArrayX, double *PointArrayY, int N, int choise)
{
    //Здесь написан некоторый код. Для его выполнения посылается сигнал из того диалогового окна.
    ChooseGraphic(choise);
}

void MainWindow::ChooseGraphic(int choise)
{
    C=choise;
    update();
}

Это некоторое лирическое отступление, как программа доходит до update(). Далее:
void MainWindow::paintEvent(QPaintEvent *event)
{

    QPainter painter(PageForGraphic);

    switch(C)
    {
    case 1:
        {
            painter.setWindow(/*-LW*maxX-30, -LH*maxY-65,*/0,0, width(), height());
            painter.setRenderHint(QPainter::Antialiasing, true);
            painter.setPen(QPen(QColor(255, 0, 0), 7, Qt::SolidLine, Qt::RoundCap));
            painter.drawPoints(PointArrayXY, M);
        }
    case 2:
        {
            //
        }
    case 3:
        {
            //
        }
    }
}
Сам пейнтэвент. В нем указываю, где рисовать, но он не рисует))
Короче перепробовал все варианты переписи кода, которые приходили в голову, но ни один не помог. Подскажите, где ошибка? Или я чего ее не дописал...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- QMainWindow   Рисование во вкладках   1.8.2010, 15:42
- - Алексей1153   Если нет никакого подвоха, то, казалось бы, всё эл...   1.8.2010, 17:15
- - Litkevich Yuriy   QMainWindow, сделай виджет, на котором будет рисов...   1.8.2010, 17:20
- - QMainWindow   Аха, простой QWidget и поместить его туда. Такс, а...   1.8.2010, 20:21
- - Алексей1153   QMainWindow, читай описание конструктора QWidget. ...   1.8.2010, 20:26
- - QMainWindow   Имел ввиду, что когда нажимаем на вкладку (на прям...   1.8.2010, 21:00
- - Litkevich Yuriy   Прочитай документацию по QTabWidget и всё поймёшь   1.8.2010, 21:49
- - QMainWindow   Прочитал еще в первый раз, не разобрался тогда. Те...   2.8.2010, 10:33
- - Алексей1153   Может, оно и не оно, но одна ошибка (даже 3) точно...   2.8.2010, 11:00
- - QMainWindow   Эт по невнимательности. Исправил, но painter как н...   2.8.2010, 11:04
|- - wiz29   Цитата(QMainWindow @ 2.8.2010, 12:04) Эт...   4.8.2010, 10:56
- - Алексей1153   Цитата(QMainWindow @ 2.8.2010, 14:04) Стр...   2.8.2010, 11:13
- - QMainWindow   Ясно. И что тогда делать? Создать отдельный класс ...   2.8.2010, 11:17
- - Алексей1153   QMainWindow, ну, начнём с того, что каждая вкладка...   2.8.2010, 12:05
- - QMainWindow   И как это связано с paintevent?   2.8.2010, 12:56
- - Алексей1153   А зачем с ним связывать ? Его вообще надо будет пе...   2.8.2010, 13:03
- - QMainWindow   А можно примерчик Туго доходит   2.8.2010, 13:18
- - Алексей1153   QMainWindow, не совсем понимаю - пример чего? Да...   2.8.2010, 13:28
- - QMainWindow   Выкладываю непосредственно саму программу. Делать ...   2.8.2010, 16:29
- - Litkevich Yuriy   QMainWindow, тебе уже говорили на прогорге, рисова...   2.8.2010, 16:43
- - QMainWindow   Так я это уже спрашивал, вот: Цитата(QMainWindow ...   2.8.2010, 16:51
- - Litkevich Yuriy   Цитата(QMainWindow @ 2.8.2010, 20:51) вот...   2.8.2010, 17:27
- - QMainWindow   Короче создал класс для виджета, в котором буду ри...   3.8.2010, 14:06
- - Алексей1153   напиши в самом начале файла "PaintWidget.h...   3.8.2010, 14:19
- - Litkevich Yuriy   Где-то ты дважды один и тотже файл включаешь. QMai...   3.8.2010, 16:04
- - QMainWindow   Странно, только что проверил еще раз - вроде нет.....   3.8.2010, 17:42
- - QMainWindow   Короче вот: http://ifolder.ru/18764953, чтобы дело...   4.8.2010, 10:13
- - Алексей1153   QMainWindow, что ты там такое наколбасил, что сжат...   4.8.2010, 10:29
- - QMainWindow   Там примерно 700КБ, а в пост разрешено максимум 10...   4.8.2010, 10:35
- - Алексей1153   я не смог скачать - интер тупит сегодня, айфолдер,...   4.8.2010, 10:54
- - QMainWindow   Может так: http://slil.ru/29530936. wiz29, спасибо...   4.8.2010, 11:19
- - Алексей1153   QMainWindow, тоже не качается. Попробую вечером из...   4.8.2010, 12:33
- - QMainWindow   Цитата(Алексей1153 @ 4.8.2010, 13:22) Так...   4.8.2010, 12:33
- - Алексей1153   Цитата(QMainWindow @ 4.8.2010, 15:33) ЭЭ,...   4.8.2010, 12:34
- - QMainWindow   Нет проблем. Главное чтобы косяк убрать, а то рабо...   4.8.2010, 12:36
- - Алексей1153   QMainWindow, времени у тебя, смотрю, вагон. Закомм...   4.8.2010, 12:41
- - QMainWindow   Я понял, в чем косяк был - я был слепым! Ког...   4.8.2010, 15:13
- - Алексей1153   Цитата(QMainWindow @ 4.8.2010, 18:13) Ког...   4.8.2010, 17:12
- - QMainWindow   Спасибо! Все эти глупые ошибки выявил еще с са...   5.8.2010, 11:00
- - Алексей1153   QMainWindow, ответ кроется в ООП: храни данные о г...   5.8.2010, 11:02
- - QMainWindow   Закономерный вопрос: что нужно делать?   5.8.2010, 11:21
- - Алексей1153   QMainWindow, как что - я ж написал, что делать У ...   5.8.2010, 11:27
- - QMainWindow   Спешу поделиццо радостной новостью. Он зарисовал т...   6.8.2010, 10:13
- - Алексей1153   QMainWindow, ну, typedef - это лишь для удобства ...   6.8.2010, 10:28
- - QMainWindow   У меня вопрос: когда я открываю вкладку с графиком...   20.8.2010, 21:49
- - Litkevich Yuriy   когда ты открываешь вкладку, то вызывается обработ...   21.8.2010, 7:50


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.6.2025, 13:04