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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 135 136 [137] 138 139 ... 142
2041  Программирование / Общий / Ошибка компоновщика : Июль 09, 2014, 14:12
Здравствуйте, всем!
Прошу помочь мне разобраться с проблемой:
Я занимаюсь изучением OpenGL по Суперкниге и пишу примерчики из неё на Qt.
К проекту очередного примера мне было необходимо подтянуть несколько хэдэров и исходников из папки examples/common. Но тут столкнулся с ошибкой при компоновке
Код:
ошибка: undefined reference to `gltTransformPoint'
Сослался на свою "пряморукость" и попробовал запустить из под Qt Creator сам пример (без использования Qt) - не успех...
Понимаю, что ошибка, скорее всего, пустяковая, но в упор не вижу причины.

Предпринимал действия:
Запускал предложенный в примере файл проекта MSVC, приписывал расположение glut32 и он работал.
В папке примера выполнял qmake -project, в .pro файл прописывал glut32 - ошибка та же. Эти же действия на другом примере дали положительный результат.

Во вложении сам пример, общие файлы ко многим примерам из книги, библиотека glut с диска от книги.
2042  Qt / Пользовательский интерфейс (GUI) / Re: QGLWidget - потеря буфера на Вындоуз : Июнь 30, 2014, 23:17
А как насчёт вести запись всех графических объектов в какой-нибудь image и при перерисовке выводить на экран одного его, а на 109 объектов?
Улыбающийся  C OpenGL этот подход не катит, не будет он просто так в имедж рендерить (нужно городить типа FBO). Ну и рендер "объект за объектом" совсем не равен "рендеру сцены" (перекрытия и.т.п.)

Я тему до конца не изучил, но знаю, что в GL есть какие-то левый и правый буферы ещё. Если они тоже как-то работают с цветами, то их, возможно тоже можно как-то задействовать. Мне кажется, что в любом случае у вас должна быть под рукой дублирующая картинка, которую можно потом оперативно вставить.
А как насчёт использования чистого OpenGL? glBegin(QL_QUADS), glVertex? Мне удавалось прорисовать огромное количество треугольников за сравнительно малое время. Мне кажется, что прямое использование OpenGL должно дать значительный прирост производительности. Может быть, скорость полной перерисовки вас устроит при таком подходе.
2043  Qt / Пользовательский интерфейс (GUI) / Re: QGLWidget - потеря буфера на Вындоуз : Июнь 30, 2014, 15:46
А как насчёт вести запись всех графических объектов в какой-нибудь image и при перерисовке выводить на экран одного его, а на 109 объектов?
2044  Qt / Пользовательский интерфейс (GUI) / Re: QGLWidget - потеря буфера на Вындоуз : Июнь 30, 2014, 11:58
Я только начинаю изучать GL. Но мне видется такой вариант: писать изображение в передний и задний буфер, а при попытке перерисовки делать swap и копировать информацию из переднего в задний.
Возможно, сказал ерунду, но я пытался помочь
2045  Qt / Общие вопросы / Re: Как реализовать большое число строк в QAbstractTableModel : Июнь 25, 2014, 08:23
тьфу. ScrollBar конечно Улыбающийся
А за размер таблицы взять размер файла, поделённый на текущее количество строк в View Улыбающийся Ну и размер строки конечно учитывается.

Собственно т.к. самописное - то самому писать поведение клавиш Улыбающийся

Глаза пока боятся Улыбающийся
Спасибо за совет. Мне перед реализацией придётся набраться смелости Улыбающийся

Есть мнение, что для хекс-редактора не подходят айтемвью, лучше взять QAScrollArea и на ней рисовать ручками.
Как вариант, можно выдернуть хекс-редактор из креатора, это не сложно делается

Я на данный момент вывожу в таблицу до 250 мб данные в hex. Проблема ещё заключается в том, что вывод hex - это  одна из функций программы. Основное её назначение вывод в таблицу значений int, dbl, float, text и др., которые переводятся из т.н. rawData. Так что в моём случае получается, что табличное представление, наверное, оптимальный вариант.
2046  Qt / Общие вопросы / Re: Как реализовать большое число строк в QAbstractTableModel : Июнь 24, 2014, 16:56
ммм...
Я решал эту проблему, создавая собственный View, совмещая его с progressBar'ом.

Собственно почему я так поступил - при наследовании от QAbstractListModel и иже с ним и установкой количества строк в 50-70000 начинались лаги. Насколько помню там View запрашивает их все при установке модели.

Потому я совместил написал свой View совмещенный с моделью.

progressBar - Вы scroll имеете в виду? А за размер таблицы взять какое-нибудь небольшое число?
Боюсь, что опыта не хватит мне  Улыбающийся не совсем представляю, как там будут работать клавиши вниз, вверх, PgDn, PgUp, ctrl+home, ctrl+end и подобные... Не представляю, как сделать так, чтобы вьюха не спотыкалась при скроллинге клавиатурой.
2047  Qt / Общие вопросы / Re: Как реализовать большое число строк в QAbstractTableModel : Июнь 24, 2014, 15:10
Сделайте проще - соедините view и свой progressBar, в котором вы будете делать что хотите Улыбающийся

не совсем понимаю....
2048  Qt / Общие вопросы / Re: Как реализовать большое число строк в QAbstractTableModel : Июнь 24, 2014, 12:35
Сделать его "скользящим" по файлу придётся вам.
Отобразить и быстро работать с большим объёмом данных не получится. А вот читать по частям файл и выводить на экран в зависимости от желания пользователя вы можете уже сейчас.

QFile::seek вам в помощь.

Да, я думал насчёт реализации в методе data() QFile::seek, QFile::read. Но каким образом в метод дата передастся переменная row = 5 000 000 000? Внедрять какой-нибудь комбо, который будет делить файл на несколько частей и предлагать пользователю выбор типа "работать начиная с 00000000 байта", "работать работать начиная с 80000000 байта" и т.д. не хотелось бы.
2049  Qt / Общие вопросы / Re: Как реализовать большое число строк в QAbstractTableModel : Июнь 24, 2014, 11:38
Возможно, я не правильно выразился или не правильно понимаю назначение класса...
На сколько я понимаю, при создании модели таблицы нужно минимум переопределить функции rowCount(), columnCount(), и data().
Меня интересует не одновременное отображение большого количества значений на экране, а отображение ячеек, с индексом строки выше пределов int.

Грубо говоря, как реализовать hex-редактор с поддержкой больших файлов?
2050  Qt / Многопоточное программирование, процессы / Re: У меня не получается отправить в поток мой класс : Июнь 17, 2014, 08:06
А как создан экземпляр Solver? Ваш MainWidget не должен быть ему родителем.
Буду знать. Спасибо. Комментарий помог решить проблему.
2051  Qt / Общие вопросы / Re: Диалог открытия файлов порождает ошибку : Июнь 16, 2014, 19:49
я бы заменил строчку с вызовом диалога на результат его выполнения, чтобы проверить, что это именно он, а не открываемый файл
2052  Qt / Многопоточное программирование, процессы / У меня не получается отправить в поток мой класс : Июнь 16, 2014, 16:38
Здравствуйте!
Прочитал статью, как правильно использовать QThread, но, видимо, что-то упустил.

У меня существует класс MainWidget, который отвечает за прорисовку интерфейса и класс Solver, отвечающий за функционал программы.
В конструкторе первого пишу:
Код:
    thread = new QThread(this);

    connect(thread, SIGNAL(started()), solver, SLOT(run()));
    connect(solver, SIGNAL(finished()), thread, SLOT(terminate()));
    solver->moveToThread(thread);

При нажатии на кнопку вызывается слот:
Код:
void MainWidget::convert()
{
    saveSettings();

    thread->start();
//    QtConcurrent::run(solver, &Solver::run);
}

При такой реализации интерфейс застывает и ждёт, когда solver закончит свою работу.
При реализации QtConcurrent::run(solver, &Solver::run); всё работает прекрасно.
Что я не так делаю? Прошу помощи.
2053  Qt / Общие вопросы / Как реализовать большое число строк в QAbstractTableModel : Июнь 16, 2014, 13:36
Здравствуйте всем!
Не совсем хорошо представляю, как можно унаследоваться от класса QAbstractTableModel (а также QTableView), чтобы реализовать возможность вывода большого количества строк, которое превышает int.
Прошу помочь.
2054  Qt / Общие вопросы / Re: QByteArray rawData to double[] : Июнь 02, 2014, 14:24
QDataStream можно использовать и прямо с QFile
Задача стоит такая:
Открыть файл и представлять его как массив double, как массив int, как char и т.д. Не очень подходит такой вариант
2055  Qt / Общие вопросы / Re: QByteArray rawData to double[] : Июнь 02, 2014, 13:36
Кажется, понял.
Всё, что мне нужно, это QBuffer. С ним уже можно будет использовать QDataStream.
Спасибо за помощь
Страниц: 1 ... 135 136 [137] 138 139 ... 142

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