Russian Qt Forum
Апрель 27, 2024, 17:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 134 135 [136] 137 138 ... 142
2026  Qt / 2D и 3D графика / Re: Widgets on top of QGLWidget : Июль 16, 2014, 12:08
И цель ставить более четко/практично: рисовать поверх можно, ну не будем делать QGLWidget окном (это и не нужно). 
Согласен. Это было просто желание разобраться, так сказать, для себя.
На деле я уже реализовал всё, что мне нужно было.
Спасибо.
2027  Qt / 2D и 3D графика / Re: Widgets on top of QGLWidget : Июль 16, 2014, 10:43
Установите для QGLWidget
Код
C++ (Qt)
setAttribute(Qt::WA_PaintOnScreen, false);
 
Вообще может для Вас есть смысл использовать "OpenGL сборку" Qt (сам не пробовал)
Приведенный Вами код вызывает ошибку Sigmentation fault при исполнении строки return app.exec();

Я использую именно OpenGL сборку.
2028  Qt / 2D и 3D графика / Re: Widgets on top of QGLWidget : Июль 15, 2014, 21:33
Снова словил прорисовку прямоугольника вместо кнопки... Причина ясна, хочется понять почему...
Вот рабочий код, при котором всё происходит так как ожидается:
Код:
#include <QtWidgets>
#include <QGLWidget>
#include <QHBoxLayout>

class MyWidget : public QGLWidget {
public:
    MyWidget( QWidget * parent = 0 ) : QGLWidget(parent)
    {
        QHBoxLayout* lay = new QHBoxLayout(this);
        QPushButton * btn = new QPushButton("Button", this);
        lay->addWidget(btn);
    }

    void paintGL( void )
    {
        glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);
    }
};

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

    QDialog * dlg = new QDialog;
    dlg->setGeometry(100, 100, 400, 400);
    MyWidget * mw = new MyWidget(dlg);
    QHBoxLayout lay;
    lay.addWidget(mw);
    dlg->setLayout(&lay);

    dlg->show();

    return app.exec();
}
Но стоит мне вывести QGLWidget отдельным окном, как проявляется этот эффект:
Код:
int main( int argc, char **argv )
{
    QApplication app(argc, argv);

    QDialog * dlg = new QDialog;
    dlg->setGeometry(100, 100, 400, 400);
    MyWidget * mw = new MyWidget(0);
//    QHBoxLayout lay;
//    lay.addWidget(mw);
//    dlg->setLayout(&lay);

    mw->show();

    return app.exec();
}
Почему так происходит?
2029  Qt / 2D и 3D графика / Re: Widgets on top of QGLWidget : Июль 15, 2014, 21:15
Спасибо.
Я пытался создавать кнопку в конструкторе класса, назначая родителем сам класс... Видимо, так делать нельзя.
Igors, я заметил, что в Вашем примере имеется черная рамка вокруг кнопки. Можно ли добиться "гладкости" и "плавности" интерфейса как в современных CAD/CAE системах? (Например как в SolidWorks, написанном на .NET, см. аттач. Дерево, кнопочки в окне рисования...)
2030  Qt / 2D и 3D графика / Widgets on top of QGLWidget : Июль 15, 2014, 16:53
Здравствуйте!
Помогите, пожалуйста разобраться, каким образом можно добавить, к примеру, кнопку на QGLWidget.

Я попробовал создать QHBoxLayout, на который добавил QPushButton и QLabel, но получил в итоге два белых прямоугольника...
2031  Программирование / Общий / Re: Ошибка компоновщика : Июль 14, 2014, 09:25
Решил!
Для нормальной компиляции проекта понадобилось перед употреблением #include <glut.h> написать
Код:
#define _STDCALL_SUPPORTED
#define _M_IX86
Источник
2032  Qt / 2D и 3D графика / Re: QT OpenGL смена движка : Июль 14, 2014, 08:30
Хотел бы спросить, правильно ли я понимаю, что сейчас для использования Angle нужно скачивать Qt 5.3.1 for Windows 64-bit (VS 2013, 573 MB), а для OpenGL Qt 5.3.1 for Windows 64-bit (VS 2013, OpenGL, 571 MB)?
И как понять, под какой движок компилируется приложение?
2033  Программирование / Общий / Re: Ошибка компоновщика : Июль 10, 2014, 23:09
Меня удивляло и продолжает удивлять, тот факт, что я написал около 3 примеров с использованием той самой glut32.lib и они компилируются... как такое возможно?
2034  Программирование / Общий / Re: Ошибка компоновщика : Июль 10, 2014, 21:10
Кстати! А файлы .lib, они компиляторозависимы?
2035  Программирование / Общий / Re: Ошибка компоновщика : Июль 10, 2014, 21:08
у меня и дебаг и релиз работает. использую Qt 5.3.0 MSVC2012 OpenGL 32bit. похоже, что твоему mingw компилятору что-то не нравится.
Совершенно забыл, что у меня установлен компилятор MSVC2013. Я запустил Ваш код и он работает. Наверное, действительно, под MS лучше использовать MS компилятор...

2036  Программирование / Общий / Re: Ошибка компоновщика : Июль 10, 2014, 19:58
что мешает взять готовый рабочий проект который я выложил?
Очень извиняюсь!!! Не заметил Вашего сообщения.
Попытался сейчас запустить Ваш код и ничего не получил...
См. аттач
2037  Программирование / Общий / Re: Ошибка компоновщика : Июль 10, 2014, 17:29
Igors, меня больше интересует, почему у меня не получается выполнить пример именно в среде Qt Creator (mingw). Это переходит в спортивный интерес, так сказать Улыбающийся.
Вероятно потому что хедер GLTools.h не очень грамотный. Если ф-ция определена в с файле, то в хедере она должна быть объявлена как extern "C". Попробуйте измененный хедер (аттач)


не помогло, к сожалению...
2038  Программирование / Общий / Re: Ошибка компоновщика : Июль 10, 2014, 06:43
LIBS += -lglut32
Это само собой. + -L"Путь к glut32"
2039  Программирование / Общий / Re: Ошибка компоновщика : Июль 09, 2014, 21:17
Загрузил Ваш проект в MSVС 2012, добавил glut32.lib в проект, отключил SAFESH в линкере. Положил glut32.dll рядом с exe. Запускается, работает

Предпринимал действия:
Запускал предложенный в примере файл проекта MSVC, приписывал расположение glut32 и он работал.

Igors, меня больше интересует, почему у меня не получается выполнить пример именно в среде Qt Creator (mingw). Это переходит в спортивный интерес, так сказать Улыбающийся.

Морока с путями у вас скорее всего Улыбающийся
Мне кажется, что нет. До этого момента я выполнил около десятка примеров с использованием glut... А здесь появились эти .c и .h... Я их перенес в папку с моим проектом.
Единственное, что меня сейчас интуитивно смущает, следующий код. В файле GLTools.h:
Код:
#include <windows.h>
#include <winnt.h>
#include <gl/gl.h>
#include <gl/gl.h>
Подключение к проекту с чистым примером QT += opengl не подходит... Возможно ли, что какая-то gl либа не подтягивается?
2040  Программирование / Общий / Re: Как правильно внести в проект файлы cpp и h : Июль 09, 2014, 19:45
2__Heaven__ Ну причем здесь cpp и h если Вы сами говорите "ошибка компоновщика". Просто тупо ищите все файлы в которых unresolved (gltTransform). Такого lib файла у Вас нет - значит надо его где-то доставать скачивать (а не пробовать компиляторы). Наберите в гугле напр "gltools library download" - вот первая ссылка, товарищ тоже ищет.
Не смог сформулировать тему - переправил.

Дело в том, что такая функция определена в .c файле, который имеется в папке common. Я его тоже подтягивал в проект, но это не помогло...
Страниц: 1 ... 134 135 [136] 137 138 ... 142

Страница сгенерирована за 0.081 секунд. Запросов: 24.