Russian Qt Forum
Ноябрь 26, 2024, 02:40
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Ui + наследник QGraphicsView.
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Ui + наследник QGraphicsView. (Прочитано 2932 раз)
Nikita68
Гость
Ui + наследник QGraphicsView.
«
:
Сентябрь 27, 2014, 00:41 »
Всем, доброго времени суток)
Подскажите, пожалуйста.
Я создаю ui. Там есть возможность, как я понимаю, пользоваться стандартными классами. Я хочу использовать наследник QGraphicsView. В нем я переопределю только метод resizeEvent(QGraphicsEvent *).
Подскажите, пожалуйста, как мне решить эту проблему.
Спасибо за внимание)
Записан
Bepec
Гость
Re: Ui + наследник QGraphicsView.
«
Ответ #1 :
Сентябрь 27, 2014, 00:49 »
А проблему то ты забыл описать
Доброго времени суток.
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Ui + наследник QGraphicsView.
«
Ответ #2 :
Сентябрь 27, 2014, 00:56 »
Цитата: Nikita68 от Сентябрь 27, 2014, 00:41
Всем, доброго времени суток)
Подскажите, пожалуйста.
Я создаю ui. Там есть возможность, как я понимаю, пользоваться стандартными классами. Я хочу использовать наследник QGraphicsView. В нем я переопределю только метод resizeEvent(QGraphicsEvent *).
Подскажите, пожалуйста, как мне решить эту проблему.
Спасибо за внимание)
В дизайнере тыкаете правой кнопкой мыши на QGraphicsView, и выбираете "Преобразовать в ...", далее в появившемся окне добавляете свой класс и жмете "Преобразовать"
После этого вместо стандартного виджета, будет создаваться ваш.
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Nikita68
Гость
Re: Ui + наследник QGraphicsView.
«
Ответ #3 :
Сентябрь 27, 2014, 04:08 »
взял из примеров по Бланшету - HexSpinBox. Но тут загвоздка - пишет ошибки:
Что я сделал не так? ставил галку, что не глобально.
Вот код ui:
#ifndef UI_UIMAINWINDOW_H
#define UI_UIMAINWINDOW_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHeaderView>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QWidget>
#include "hexspinbox.h"
QT_BEGIN_NAMESPACE
class Ui_UiMainWindow
{
public:
QWidget *centralwidget;
HexSpinBox *spinBox;
QMenuBar *menuB;
void setupUi(QMainWindow *UiMainWindow)
{
if (UiMainWindow->objectName().isEmpty())
UiMainWindow->setObjectName(QString::fromUtf8("UiMainWindow"));
UiMainWindow->resize(240, 243);
UiMainWindow->setMinimumSize(QSize(0, 0));
UiMainWindow->setMaximumSize(QSize(16777215, 16777215));
UiMainWindow->setLayoutDirection(Qt::LeftToRight);
centralwidget = new QWidget(UiMainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
spinBox = new HexSpinBox(centralwidget);
spinBox->setObjectName(QString::fromUtf8("spinBox"));
spinBox->setGeometry(QRect(60, 80, 42, 22));
UiMainWindow->setCentralWidget(centralwidget);
menuB = new QMenuBar(UiMainWindow);
menuB->setObjectName(QString::fromUtf8("menuB"));
menuB->setGeometry(QRect(0, 0, 240, 19));
UiMainWindow->setMenuBar(menuB);
retranslateUi(UiMainWindow);
QMetaObject::connectSlotsByName(UiMainWindow);
} // setupUi
void retranslateUi(QMainWindow *UiMainWindow)
{
UiMainWindow->setWindowTitle(QApplication::translate("UiMainWindow", "\320\234\320\276\320\264\320\265\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265 \320\221\320\241\320\241", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
namespace Ui {
class UiMainWindow: public Ui_UiMainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_UIMAINWINDOW_H
А вот ошибки:
05:04:49: Выполняется сборка проекта test...
05:04:49: Запускается: «C:\Qt\qtcreator-2.4.0\mingw\bin\mingw32-make.exe»
[ 12%] Building CXX object CMakeFiles/test.dir/main.cpp.obj
In file included from D:\c_program\cpp\hexspinbox\/MyMainWindow.h:4,
from D:\c_program\cpp\hexspinbox\main.cpp:6:
D:/c_program/cpp/hexspinbox/build/ui_UiMainWindow.h:21:24: error: hexspinbox.h: No such file or directory
In file included from D:\c_program\cpp\hexspinbox\/MyMainWindow.h:4,
from D:\c_program\cpp\hexspinbox\main.cpp:6:
D:/c_program/cpp/hexspinbox/build/ui_UiMainWindow.h:29: error: ISO C++ forbids declaration of 'HexSpinBox' with no type
D:/c_program/cpp/hexspinbox/build/ui_UiMainWindow.h:29: error: expected ';' before '*' token
D:/c_program/cpp/hexspinbox/build/ui_UiMainWindow.h: In member function 'void Ui_UiMainWindow::setupUi(QMainWindow*)':
D:/c_program/cpp/hexspinbox/build/ui_UiMainWindow.h:42: error: 'spinBox' was not declared in this scope
D:/c_program/cpp/hexspinbox/build/ui_UiMainWindow.h:42: error: expected type-specifier before 'HexSpinBox'
D:/c_program/cpp/hexspinbox/build/ui_UiMainWindow.h:42: error: expected ';' before 'HexSpinBox'
mingw32-make.exe[2]: *** [CMakeFiles/test.dir/main.cpp.obj] Error 1
mingw32-make.exe[1]: *** [CMakeFiles/test.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
05:04:57: Процесс «C:\Qt\qtcreator-2.4.0\mingw\bin\mingw32-make.exe» завершился с кодом 2.
Возникла ошибка при сборке проекта test (цель: Настольный компьютер)
Во время выполнения сборки на этапе «Сборка»
Записан
Nikita68
Гость
Re: Ui + наследник QGraphicsView.
«
Ответ #4 :
Сентябрь 27, 2014, 04:38 »
Ребят, помогло добавление файлов hexspinbox.cpp + hexspinbox.h в папку сборки.
Тему, наверное, можно закрывать.
Спасибо за внимание и за полезные советы)
«
Последнее редактирование: Сентябрь 27, 2014, 04:40 от Nikita68
»
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Ui + наследник QGraphicsView.
«
Ответ #5 :
Сентябрь 27, 2014, 09:04 »
Пожалуйста, для этого форум и создавался
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...