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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / Установка, сборка, отладка, тестирование / Re: Unknown module(s) in QT: charts - как исправить? : Январь 10, 2022, 21:33
Просто нужно было галку Qt Charts выставлять в той ветке для которой уже установлены пакеты.

Ох, проглядел. Есть такая галка.
Спасибо! Буду знать.
2  Qt / Установка, сборка, отладка, тестирование / Re: Unknown module(s) in QT: charts - как исправить? : Январь 08, 2022, 21:32
В итоге поборол сборку файлов Qt5Charts.dll и Qt5Chartsd.dll из исходников.
Все папки (bin, examples, include, lib, mkspecs, qml, src, tests) перекинул в папку C:\Qt\5.15.2\msvc2015_64.
Дальше всё заработало.

P.S.
Ещё надо было прописывать пути к программе rc.exe
Добавил в Path следующий путь
   C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64
3  Qt / Установка, сборка, отладка, тестирование / Re: Unknown module(s) in QT: charts - как исправить? : Январь 08, 2022, 19:27
Я не знаю, как этот модуль должен выглядеть.

Смотрел в папке C:\Qt\5.15.2\msvc2015_64\bin (и ей подобным 'msvc2019' и 'msvc2019_64'). Там нет библиотек вида Qt5Cahrts.dll (или что там должно быть?)
Не знаю, что искать.

P.S.
Есть папка C:\Qt\5.15.2\Src\qtcharts
Пробовал собрать библиотеку - куча ошибок вылезло.
4  Qt / Установка, сборка, отладка, тестирование / Re: Unknown module(s) in QT: charts - как исправить? : Январь 08, 2022, 17:24
Галки выставлены так, как указано на прикрепленной картинке.
Не вижу как этими настройками можно дополнительно управлять.
5  Qt / Установка, сборка, отладка, тестирование / [Решено] Unknown module(s) in QT: charts - как исправить? : Январь 08, 2022, 03:01
Здравствуйте.

Хочу поработать с модулем построения графиков Qt Charts.
Установил Qt Charts через MaintenanceTool.exe  (смотри картинку в приложении).

Создаю новый проект.
Но когда в pro-файле добавляю charts
Код:
QT += charts core gui
 то получаю ошибку
Цитировать
Project ERROR: Unknown module(s) in QT: charts
Как заставить увидеть Qt Charts?

Спасибо.
6  Qt / Установка, сборка, отладка, тестирование / "ABI: x86-windows-unknown-pe-32bit" что за зверь? : Август 03, 2021, 19:24
Здравствуйте.

Собираю Qt 5.6.3 под Visual Studio 2013 (VC 12.0)
Сделал стандартную сборку (shared)



и статическую сборку


По какой то причине статическая сборка стала "unknown"
Цитировать
ABI:
x86-windows-unknown-pe-32bit


Если обычную сборку Qt Creater нормально обрабатывает, то второй вариант сборки идет с ошибкой "компилятор не может создавать код для этого профиля qt"

В чем может быть ошибка и как её исправить?
Спасибо.
7  Qt / Вопросы новичков / Re: Qt Creator (Visual Studio 9) - слетают точки останова на одной из функций : Февраль 01, 2021, 20:46
Когда запускаю программу в режиме отладки, то для точки останова не выделяется адрес
8  Qt / Вопросы новичков / Re: Qt Creator (Visual Studio 9) - слетают точки останова на одной из функций : Февраль 01, 2021, 20:23
Она так же именуется Visual Studio 2008
9  Qt / Вопросы новичков / Qt Creator (Visual Studio 9) - слетают точки останова на одной из функций : Январь 29, 2021, 02:19
Здравствуйте.

Пишу проект в Qt Creator под Windows (отладчик Visual Studio 9).

Сегодня поймал странный баг, делаю отладку одной из функций. Корплю над ней пару часов. И при очередном запуске отладчика вижу, что исчезли точки останова над кодом этой функции. При этом другие точки останова работают в других частях проекта.
Я даже могу через F10 - вхожу в тело функции нормально.

Пробую кликнуть ЛКМ слева от строчек кода - точки останова не добавляются. Зато точка останова появляется на против следующей функции ниже по коду. Странно.

Пробую кликнуть ПКМ слева от строчек кода  - вылезает контектное меню. Нажимаю "Установить точку останова на строку", ничего. Опять вызываю контекстное меню - там появляется пункт "Включить точку останова" - жму этот пункт, и появляется блеклый полупрозрачный кружок. Повторно  жму ПКМ и снова выбираю пункт контекстного меню "Включить точку останова" - вот теперь точка останова становиться полноценной (бардового цвета, хотя по F5 на неё всё равно не попасть).

P.S.
Проект точно Debug.
Пробовал переименовать функцию - странное поведение сохраняется.
Воспроизвести странное поведение в других функциях не удается.
Удалил тело функции, до вида  int foo (const wchar_t*, int) { return 0; }  - невозможность установить точку останова продолжается.
Разархивировал проект в другом месте. Запустил Qt Creator, настраиваю пути сборки проекта. Запускаю отлалдку - по прежнему немогу установить точку останова только над этой одной функцией.

Может кто сталкивался с подобным поведением?
Спасибо.
10  Qt / Работа с сетью / Можно ли делать QWebSocket в дочернем потоке? : Январь 29, 2020, 19:58
Здравствуйте.

Пишу приложение GUI + QWebSocket. Программа принимает большой объем данных по QWebSocket, и видно как GUI тормозит.
Чтобы интерфейс пользователя не тормозил, хочу вынести GUI в дочерний поток.

В общем, написал тестовый класс Thread.
В процессе тестов выяснил, что объект QWebSocket должен создаваться в самом дочернем потоке.
В программе не работает webSocket->close(). Программа выкидывает ошибку. Как исправить?

thread.h
Код:
#ifndef THREAD_H
#define THREAD_H

#include <QObject>
#include <QThread>
#include <QtWebSockets/QWebSocket>

class Thread: public QThread
{
    Q_OBJECT
public:
    Thread();
    void run();
Q_SIGNALS:
    void closed();

private Q_SLOTS:
    void onConnected();
    void onRead(QString message);
    void onClosed();

public:
    QWebSocket *p_webSocket;
};

#endif // THREAD_H

thread.cpp
Код:
#include "thread.h"

Thread::Thread()
    : p_webSocket(NULL)
{}

void Thread::run()
{
    while(true){
        QWebSocket webSocket;  // <-- создаю объект тут
        p_webSocket = &webSocket;
        connect(p_webSocket, &QWebSocket::connected, this, &Thread::onConnected);
        connect(p_webSocket, &QWebSocket::disconnected, this, &Thread::onClosed);
        p_webSocket->open(QUrl("wss://echo.websocket.org/"));
        exec();
    }
}

void Thread::onConnected()
{
    qDebug() << "WebSocket connected";
    connect(p_webSocket, &QWebSocket::textMessageReceived,
            this, &Thread::onRead);
    p_webSocket->sendTextMessage(QStringLiteral("test"));
}

void Thread::onRead(QString message)
{
    qDebug() << "Message received:" << message;
    disconnect(p_webSocket, &QWebSocket::textMessageReceived,
            this, &Thread::onRead);
    p_webSocket->close();      // <--- тут происходит ошибка
}

void Thread::onClosed()
{
    qDebug() << "onClosed";
}

main.cpp
Код:
#include <QCoreApplication>
#include "thread.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    Thread thread;
    thread.start();
    return a.exec();
}

Ошибка
Цитировать
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
QObject::connect: Cannot queue arguments of type 'QAbstractSocket::SocketState'
(Make sure 'QAbstractSocket::SocketState' is registered using qRegisterMetaType().)
ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 2dd1c48. Receiver '' (of type 'QNativeSocketEngine') was created in thread 9bfed4", file kernel\qcoreapplication.cpp,line 568

Спасибо.
Страниц: [1]

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