Хотел бы узнать следующее. У меня есть указатель на доквиджет в главном классе, который сделан через дизайнер. Как мне сделать так, чтобы нужное мне рисование я мог описывать в отдельном файле, классе, а не в этом и так раздутом и большом классе?
Cоздаешь класс, который занимается рисованием. И создаешь на него указатель в своем классе и делаешь connect на слоты, в которых идет рисование.
Задача решена! ViGOur, спасибо за подсказку.
Вот вариант ее решения (возможно, не самый удачный, но все-равно неплохой):
#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);
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)