crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Разделение на файлы, правильно разделить на файлы
AD
  опции профиля:
сообщение 1.10.2008, 11:00
Сообщение #1


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Хотел бы узнать следующее. У меня есть указатель на доквиджет в главном классе, который сделан через дизайнер. Как мне сделать так, чтобы нужное мне рисование я мог описывать в отдельном файле, классе, а не в этом и так раздутом и большом классе?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 1.10.2008, 11:04
Сообщение #2


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

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




Репутация:   -1  


Цитата(AD @ 1.10.2008, 12:00) *
Хотел бы узнать следующее. У меня есть указатель на доквиджет в главном классе, который сделан через дизайнер. Как мне сделать так, чтобы нужное мне рисование я мог описывать в отдельном файле, классе, а не в этом и так раздутом и большом классе?

просто добавить новый срр и в нем юзать указатель, который передавать параметром функции
Draw(qdock* dock)
{
}
Draw описана в другом юните
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 1.10.2008, 11:05
Сообщение #3


Мастер
******

Группа: Модератор
Сообщений: 3293
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Cоздаешь класс, который занимается рисованием. И создаешь на него указатель в своем классе и делаешь connect на слоты, в которых идет рисование.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 1.10.2008, 11:07
Сообщение #4


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Цитата
Cоздаешь класс, который занимается рисованием. И создаешь на него указатель в своем классе и делаешь connect на слоты, в которых идет рисование.


А моно примерчик? Заранее спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 1.10.2008, 14:37
Сообщение #5


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Задача решена! :) 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. Теперь в нем я могу определить нужные мне функции рисования определенных графиков.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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