crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Qt 5.2.0: проблема манипуляции координатами текстов в QGraphicsScene., Нельзя задать позицию QGraphicsTextItem.
EnclaveGuard
  опции профиля:
сообщение 2.5.2014, 9:40
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 2.5.2014
Пользователь №: 4117

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




Репутация:   0  


Здравствуйте, уважаемые форумчане.
Желаю размещать в QGraphicsScene (Qt 5.2) размещать текстовые "заметки" и манипулировать их координатами.
В Qt 4.7 прекрасно работал исходник, приведённый ниже.

QGraphicsTextItem * textItem;
textItem = scene->addText("Text");
textItem->setPos(10,20); //Работало в Qt 4.7, не работает в Qt 5.2


В Qt 5.2 на третью строку ругается так:
~mainwindow.cpp:111: ошибка: invalid use of incomplete type 'class QGraphicsTextItem'
text->setPos(10,20);
^
Жаль, что из определения класса вообще пропала функция setPos().

Вопрос1: как можно решить проблему с добавлением QGraphicsTextItem-ов на сцену?
Вопрос2: есть решения нет, есть ли альтернативы (хотелось бы ссылки на готовые примеры)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 2.5.2014, 22:29
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


В профайле должен быть добавлен новый модуль:
QT += core gui widgets
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
EnclaveGuard
  опции профиля:
сообщение 3.5.2014, 7:14
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 2.5.2014
Пользователь №: 4117

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




Репутация:   0  


Цитата(RazrFalcon @ 3.5.2014, 6:29) *
В профайле должен быть добавлен новый модуль:
QT += core gui widgets


Благодарю Вас за совет, но тот, увы, не помог.
На всякий случай приведу содержимое *.pro файла.

Раскрывающийся текст
QT += core gui widgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = 008
TEMPLATE = app


SOURCES += main.cpp\
mainwindow.cpp

HEADERS += mainwindow.h

FORMS += mainwindow.ui

QMAKE_CXXFLAGS += -std=c++11


По прежнему имею ругань Qt Creator-а в следующем коде:
    QGraphicsTextItem* text;
    text = scene->addText("text", QFont("Arial", 24 ));
    text->setPos(10,20);//ошибка: invalid use of incomplete type 'class QGraphicsTextItem'
                         //text->setPos(10,20);
                         //    ^
    QGraphicsTextItem tempTextItem;//ошибка: aggregate 'QGraphicsTextItem tempTextItem' has incomplete type and cannot be defined
                                     //     QGraphicsTextItem tempTextItem;
                                     //                       ^


Пожалуйста, подскажите как это безобразие можно парировать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dmtalm
  опции профиля:
сообщение 3.5.2014, 13:38
Сообщение #4


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 18.1.2014
Пользователь №: 4036

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




Репутация:   0  


проверь инклюды
в Qt 5 часто приходится добавлять например:
#include <QtGui>
#include <QtWidgets>
#include <QDebug>
#include <QGraphicsItem>
#include <QTextEdit>
#include <QGraphicsScene>

раньше хватало
#include <QtGui>
#include <QtCore>
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
EnclaveGuard
  опции профиля:
сообщение 3.5.2014, 20:03
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 2.5.2014
Пользователь №: 4117

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




Репутация:   0  


Цитата(dmtalm @ 3.5.2014, 21:38) *
проверь инклюды
в Qt 5 часто приходится добавлять например:
#include <QtGui>
#include <QtWidgets>
#include <QDebug>
#include <QGraphicsItem>
#include <QTextEdit>
#include <QGraphicsScene>

раньше хватало
#include <QtGui>
#include <QtCore>


Благодарю, это помогло решить проблему!
P. S. Руки бы тем ребяткам из Digia за произвол и беспредел поотрубать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.5.2025, 2:54