crossplatform.ru

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


  Ответ в Разделение на файлы
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
AD Дата 1.10.2008, 14:37
  Задача решена! :) ViGOur, спасибо за подсказку.
Вот вариант ее решения (возможно, не самый удачный, но все-равно неплохой):
source code
#ifndef UI_VERTICGRAPHICS_H
#define UI_VERTICGRAPHICS_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QDialog>
#include <QtGui/QGridLayout>
#include <QtGui/QDockWidget>

class Ui_VerticalGraphicClass
{
public:
    QGridLayout *gridLayout;
    QDockWidget *reliefDisplay;

public:
    void setupUi(QDockWidget *ReliefClass);                    // setupUi
    void retranslateUi(QDockWidget *ReliefClass);            // retranslateUi
};

namespace Ui
{
    class VerticalGraphicClass: public Ui_VerticalGraphicClass {};
} // namespace Ui

#endif // UI_VERTICGRAPHICS_H


#ifndef VERTICAL_GRAPHICS_H_055
#define VERTICAL_GRAPHICS_H_055

#include <QDockWidget>
#ifdef Q_WS_WIN
    #pragma once
#endif

#include "..\..\Win32\Prj\TransasLogViewer\GeneratedFiles\ui_verticalGraphics.h"

/// Класс для рисования вертикальной проекции полета и рельефа под ней
class ReliefGraphics: public QDockWidget, public Ui::VerticalGraphicClass
{
    Q_OBJECT

private:

public:
    ReliefGraphics(QWidget *parent = 0) {}
    ~ReliefGraphics() {}
};

#endif // VERTICAL_GRAPHICS_H_055



И теперь в главном классе такой вызов:
ReliefGraphics *verticalProjection;


verticalProjection = new ReliefGraphics(splitter_2);

Вместо того, что было:
QDockWidget *verticalProjection;


verticalProjection = new QDockWidget(splitter_2);


Если объяснять словами, то я сделал свой класс - наследник от класса QDockWidget. Теперь в нем я могу определить нужные мне функции рисования определенных графиков.
AD Дата 1.10.2008, 11:07
 
Цитата
Cоздаешь класс, который занимается рисованием. И создаешь на него указатель в своем классе и делаешь connect на слоты, в которых идет рисование.


А моно примерчик? Заранее спасибо!
ViGOur Дата 1.10.2008, 11:05
  Cоздаешь класс, который занимается рисованием. И создаешь на него указатель в своем классе и делаешь connect на слоты, в которых идет рисование.
kuler Дата 1.10.2008, 11:04
 
Цитата(AD @ 1.10.2008, 12:00) *
Хотел бы узнать следующее. У меня есть указатель на доквиджет в главном классе, который сделан через дизайнер. Как мне сделать так, чтобы нужное мне рисование я мог описывать в отдельном файле, классе, а не в этом и так раздутом и большом классе?

просто добавить новый срр и в нем юзать указатель, который передавать параметром функции
Draw(qdock* dock)
{
}
Draw описана в другом юните
AD Дата 1.10.2008, 11:00
  Хотел бы узнать следующее. У меня есть указатель на доквиджет в главном классе, который сделан через дизайнер. Как мне сделать так, чтобы нужное мне рисование я мог описывать в отдельном файле, классе, а не в этом и так раздутом и большом классе?
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 20:08