Редактор шаблонов |
Здравствуйте, гость ( Вход | Регистрация )
Редактор шаблонов |
Litkevich Yuriy |
2.12.2008, 20:14
Сообщение
#31
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
genusatplay |
2.12.2008, 20:16
Сообщение
#32
|
Студент Группа: Участник Сообщений: 50 Регистрация: 8.11.2008 Пользователь №: 416 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
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 |
вот упростил..
скажите плиз почему элемент не добавляется? и как лучше организовать хранение информации(свойств текста) для каждого элемента(лэйбла)
Прикрепленные файлы
|
|
|
kwisp |
3.12.2008, 0:23
Сообщение
#35
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
molchanoviv |
3.12.2008, 9:10
Сообщение
#36
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
хех.. вы будете смеяться =) это даже не лаба... )) сдача диплома на след неделе ^.^ Ну время еще есть. Я всем рассказываю как я сдавал курсовую по теме "Алгоритмы неявных численных схем". За день до отчисления у меня ничего не было вообще, сам я был пьян, и единственное то помнил, так это то что тема про какие-то там схемы. И ничего на следующий день у меня в зачетке стояло "зачтено". А вообще эти сообщения лучше перенести в треп: 1 сообщение 2 сообщение 3 сообщение Я думаю что там они уместнее. |
|
|
Litkevich Yuriy |
3.12.2008, 10:55
Сообщение
#37
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
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 |
|
|
|
Текстовая версия | Сейчас: 23.1.2025, 20:39 |