crossplatform.ru

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

5 страниц V  « < 2 3 4 5 >  
Ответить в данную темуНачать новую тему
> Редактор шаблонов
Litkevich Yuriy
  опции профиля:
сообщение 2.12.2008, 20:14
Сообщение #31


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(genusatplay @ 2.12.2008, 23:10) *
сдача диплома на след неделе ^.^
да, блин. Слов нет, одни слюни.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
genusatplay
  опции профиля:
сообщение 2.12.2008, 20:16
Сообщение #32


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 2.12.2008, 15:15) *
можешь в коде оригинального примера, найти это место и привести здесь?

QLabel *child = static_cast<QLabel*>(childAt(event->pos()));
вот строчка эта и есть вроде
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.12.2008, 20:48
Сообщение #33


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


genusatplay, ну замени здесь QLable (два штуки) на тот тип какой тебе надо.
Смысл этой строки простой:
QLabel *child - создается указатель на нужный, в данном случае QLable, тип
= - этим оператором указатель инициализируется, т.к. сначало он показывал в никуда.
event->pos() - возвращает позицию (QPoint)
childAt(P) - возвращает видимый дочерний виджет в точке P
static_cast<QLabel*>(T) - здесь тип Т приводится к типу указатель на QLabel

и того, мы привели тип объекта находящегося под указателем мыши к указателю на QLable, и проинициализировали им объявленный только что указатель. Но сделали это не с бухты, барахты, а потому, что точно знаем, что унас имеется QLable.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
genusatplay
  опции профиля:
сообщение 2.12.2008, 23:46
Сообщение #34


Студент
*

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

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




Репутация:   0  


вот упростил..
скажите плиз почему элемент не добавляется?
и как лучше организовать хранение информации(свойств текста) для каждого элемента(лэйбла)
Прикрепленные файлы
Прикрепленный файл  text.zip ( 2,65 килобайт ) Кол-во скачиваний: 110
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 3.12.2008, 0:23
Сообщение #35


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(genusatplay @ 2.12.2008, 20:10) *
хех.. вы будете смеяться =)
это даже не лаба... ))
сдача диплома на след неделе ^.^

:clapping:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 3.12.2008, 9:10
Сообщение #36


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

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




Репутация:   5  


Цитата(genusatplay @ 2.12.2008, 20:10) *
хех.. вы будете смеяться =)
это даже не лаба... ))
сдача диплома на след неделе ^.^


Ну время еще есть. Я всем рассказываю как я сдавал курсовую по теме "Алгоритмы неявных численных схем". За день до отчисления у меня ничего не было вообще, сам я был пьян, и единственное то помнил, так это то что тема про какие-то там схемы. И ничего на следующий день у меня в зачетке стояло "зачтено".

А вообще эти сообщения лучше перенести в треп:

1 сообщение
2 сообщение
3 сообщение

Я думаю что там они уместнее.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.12.2008, 10:55
Сообщение #37


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(molchanoviv @ 3.12.2008, 12:10) *
А вообще эти сообщения лучше перенести в треп:
вообще всю тему надо разделить, а то тут каша, и диплом и drag-n-drop и редактор шаблонов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
genusatplay
  опции профиля:
сообщение 3.12.2008, 12:39
Сообщение #38


Студент
*

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

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




Репутация:   0  


подскажите пожалйста почему не работает добавление элемента?


mainwindow.cpp
#include <QtGui>

#include "mainwindow.h"
#include "dragwidget.h"

MainWindow::MainWindow(QWidget *parent)
:QMainWindow(parent)
{
setupWidgets();
setupMenus();

setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
setWindowTitle(tr("Shablon editor"));
}

void MainWindow::setupMenus()
{
fileMenu = menuBar()->addMenu(tr("&File"));

exitAction = fileMenu->addAction(tr("E&xit"));
exitAction->setShortcut(QKeySequence(tr("Ctrl+Q")));
connect(exitAction, SIGNAL(triggered()) , qApp , SLOT(quit()));

itemMenu = menuBar()->addMenu(tr("&Item"));
addText = itemMenu->addAction(tr("Add &Text"));
connect(addText, SIGNAL(triggered()) , qApp , SLOT(addEl())); // несоздает почемуто лэйбл

}
void MainWindow::setupWidgets()
{
QFrame *frame = new QFrame;
QHBoxLayout *frameLayout= new QHBoxLayout(frame);

editor = new DragWidget;
frameLayout->addWidget(editor);

setCentralWidget(frame);
}
void MainWindow::addEl()
{
AddElem *elem = new AddElem(editor);
}

mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class DragWidget;
class QListWidgetItem;
class AddElem;

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
MainWindow(QWidget *parent = 0);
DragWidget *editor;
//AddElem *elem;
void addEl();


private:
void setupMenus();
void setupWidgets();

QMenu *fileMenu;
QMenu *itemMenu;

QAction *addText;
QAction *exitAction;


};
#endif

dragwidget.h
#ifndef DRAGWIDGET_H
#define DRAGWIDGET_H

#include <QFrame>

QT_BEGIN_NAMESPACE
class QDragEnterEvent;
class QDropEvent;
QT_END_NAMESPACE

//! [0]
class DragWidget : public QFrame
{
public:
DragWidget(QWidget *parent=0);
//void addElem(QFrame *parent);

protected:
void dragEnterEvent(QDragEnterEvent *event);
void dragMoveEvent(QDragMoveEvent *event);
void dropEvent(QDropEvent *event);
void mousePressEvent(QMouseEvent *event);
};
//! [0]

class AddElem : public QLabel
{
public:
AddElem(QFrame *parent=0);
};
#endif

dragwidget.cpp
#include <QtGui>

#include "dragwidget.h"

//! [0]
DragWidget::DragWidget(QWidget *parent)
: QFrame(parent)
{
setMinimumSize(200, 200);
setFrameStyle(QFrame::Sunken | QFrame::StyledPanel);
setAcceptDrops(true);
//setBackgroundRole(Qt::white);

QLabel *boatIcon = new QLabel(this);
boatIcon->setText("OMAGA");
boatIcon->move(40, 40);
boatIcon->show();
boatIcon->setAttribute(Qt::WA_DeleteOnClose);

QLabel *carIcon = new QLabel(this);
carIcon->setText("asdasd");
carIcon->move(120, 20);
carIcon->show();
carIcon->setAttribute(Qt::WA_DeleteOnClose);

QLabel *houseIcon = new QLabel(this);
//houseIcon->setPixmap(QPixmap(":/images/house.png"));
houseIcon->setText("!@!@");
houseIcon->move(20, 120);
houseIcon->show();
houseIcon->setAttribute(Qt::WA_DeleteOnClose);

//AddElem *elem = new AddElem(this); //так элемент добавляется нормально
}
//! [0]

void DragWidget::dragEnterEvent(QDragEnterEvent *event)
{
...
}

void DragWidget::dragMoveEvent(QDragMoveEvent *event)
{
...
}

void DragWidget::dropEvent(QDropEvent *event)
{
...
}
void DragWidget::mousePressEvent(QMouseEvent *event)
{
...
}
AddElem::AddElem(QFrame *parent)
: QLabel(parent)
{

QLabel *elem = new QLabel(parent);
elem->setText("TextElement");
elem->move(10,10);
elem->show();
elem->setAttribute(Qt::WA_DeleteOnClose);
}

main.cpp
#include <QApplication>
#include <QHBoxLayout>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

MainWindow w;
w.show();
//w.addEl(); //так тоже элемент добавляется

return app.exec();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
genusatplay
  опции профиля:
сообщение 10.12.2008, 22:24
Сообщение #39


Студент
*

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

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




Репутация:   0  


народ помогите плиз советом..
у меня есть QGraphicScene
на котором я создаю (class DiagramItem : public QGraphicsPolygonItem) в диаграм итеме храниться полигон и инфа(параметры)
я подобавлял на форму итемов, поредактил их
терь нада все сохранить в файл xml.. но вот в чем проблема..
итемы добавлялись в сцену в произвольном порядке.. мне нужно отсортировать их слева направа сверху вниз
по их координатам x,y относительно полотна
а потом выгрузить в файл и еще отнимать от Элемент_списка.x Предыдуший_элемент.x чтоб в итоге получать
в шаблоне отступ относительно предыдущего элемента.
мб есть какиенибудь стандартные фичи для такой сортировки?
если нет.. подскажите как мне это сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.12.2008, 22:27
Сообщение #40


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(genusatplay @ 11.12.2008, 1:24) *
мб есть какиенибудь стандартные фичи для такой сортировки?
если нет.. подскажите как мне это сделать?
вот ты создай тему соответствующую, тогда быстрее помощь получишь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

5 страниц V  « < 2 3 4 5 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 23.1.2025, 20:31