crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

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


Последние 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 Текстовая версия Сейчас: 29.3.2024, 7:56