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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 [2] 3 4
16  Qt / Базы данных / Re: Qt 5.8 и MySQL драйвер : Февраль 09, 2017, 13:44
вместо сборки соей libmysql.dll лучше возьмите уже готовую, я брал из дистрибутива OpenServer: OpenServer\modules\database\MySQL-5.7\lib\


Код:
if ( ! db.open() ) {
        qDebug() << db.lastError();
        qDebug() << "! Mysql Error" << "Cannot open database:" << db.lastError().text();
        return false;
}
17  Qt / Базы данных / Re: Как лучше спроектировать при работе с пот : Февраль 09, 2017, 13:34
для тех кто наткнулся на данный топик.
Инициализацию QSqlDatabase объекта делаем один раз в конструкторе.
Если планируется несколько соединений из разных потоков, для каждого потока всё такие лучше создавать отдельное именованное соединение.
Соединяться с базой надо прям перед запросом (exec()) и после запроса закрывать соединение.
18  Qt / Qt Quick / Re: Что выбрать для десктопа? : Февраль 09, 2017, 13:30
тоже недавно освоил QML, до этого тоже был опыт с Qt без QML.
Сейчас сделал выбор в пользу QML.
controls 2 говорит за себя сам, для лабораторных целей там по моему вообще всё идеально, регуляторы всякие и тд...
19  Qt / Базы данных / Re: Как лучше спроектировать при работе с потоками : Февраль 06, 2017, 14:37
И всё таки переделал на работу с одним соединением.
Т.к. QSqlDatabase уже синглтон, то достаточно заменить
Код:
db = QSqlDatabase::addDatabase("QMYSQL");
на
Код:
    if (QSqlDatabase::contains(QSqlDatabase::defaultConnection))
        db = QSqlDatabase::database();
    else
        db = QSqlDatabase::addDatabase("QMYSQL");

а в заголовочном файле даже не нужен static
Код:
QSqlDatabase db;
20  Qt / Многопоточное программирование, процессы / Re: [РЕШЕНО] QProcess. Приложение крашится после запуска (Crashed, CrashExit) : Февраль 06, 2017, 12:00
то есть приложение, собранное в ХР, спокойно запускалось в консоли 10-ки, но при запуске через QProcess падало?
да
21  Qt / Многопоточное программирование, процессы / Re: QProcess. Приложение крашится после запуска (Crashed, CrashExit) : Февраль 05, 2017, 13:27
Проблему решил путём сборки запускаемого приложение в этой же операционной системе в которой и работаю. В проблемном случае приложение собиралось в другой.
Моя текущая windows 10. Собирал в Windows xp.
22  Qt / Многопоточное программирование, процессы / Re: QProcess. Приложение крашится после запуска (Crashed, CrashExit) : Февраль 04, 2017, 23:03
можно добавить отладочный вывод, чтобы понять где именно падает.
подскажите как это можно сделать, приложение написано на с++

параметр не причём, запускал и без параметра, тоже самое
23  Qt / Многопоточное программирование, процессы / [РЕШЕНО] QProcess. Приложение крашится после запуска (Crashed, CrashExit) : Февраль 04, 2017, 20:04
Приветствую всех.
Имеется консольное приложение собранное из исходников. В консоле через cmd запускается, работает хорошо. Запускаю через QProcess - крашится.
Отловит все сигналы что нашёл, результат:

Код:
stateChanged():  QProcess::ProcessState(Starting)
stateChanged():  QProcess::ProcessState(Running)
started()
errorOccurred():  QProcess::ProcessError(Crashed)
stateChanged():  QProcess::ProcessState(NotRunning)
finished():  -1073741515 QProcess::ExitStatus(CrashExit)

Подскажите пожалуйста, как можно понять хотябы почему оно крашится?


Код:
#include "work.h"
#include <QDebug>
#include <QTextStream>

Work::Work()
{
    myProcess = new QProcess();
    connect(myProcess, SIGNAL(started()), this, SLOT(started()));
    connect(myProcess, SIGNAL(errorOccurred(QProcess::ProcessError)), this, SLOT(errorOccurred(QProcess::ProcessError)));
    connect(myProcess, SIGNAL(readyReadStandardError()), this, SLOT(readyReadStandardError()));
    connect(myProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(readStandardOutput()));
    connect(myProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(finished(int, QProcess::ExitStatus)));
    connect(myProcess, SIGNAL(stateChanged(QProcess::ProcessState)), this, SLOT(stateChanged(QProcess::ProcessState)));
    createProcess1();
}

void Work::createProcess1()
{
    QString program = "d:\\opt\\ms\\bin\\ms.exe --version";

    myProcess->start(program);

    myProcess->waitForStarted(3000);
    myProcess->waitForReadyRead(3000);
    myProcess->waitForFinished(100);
}

void Work::finished(int exitCode, QProcess::ExitStatus exitStatus)
{
    qDebug() << "finished(): " << exitCode << exitStatus;
}

void Work::readStandardOutput()
{
    qDebug() << "readStandardOutput(): " << myProcess->readAllStandardOutput();
}

void Work::readyReadStandardError()
{
    qDebug() << "readyReadStandardError(): " << myProcess->errorString();
}

// http://doc.crossplatform.ru/qt/4.7.x/qprocess.html
void Work::errorOccurred(QProcess::ProcessError error)
{
    qDebug() << "errorOccurred(): " << error;
}

void Work::started()
{
    qDebug() << "started()";
}

void Work::stateChanged(QProcess::ProcessState newState)
{
    qDebug() << "stateChanged(): " << newState;
}
24  Qt / Вопросы новичков / Re: Правильное использование многопоточности : Февраль 02, 2017, 17:30
Вот архив проекта с github
Работает, спасибо!
25  Qt / Базы данных / Re: Как лучше спроектировать при работе с потоками : Февраль 02, 2017, 15:52
ответ на мой вопрос описан в http://www.prog.org.ru/topic_29975_0.html
всё правильно сделал
26  Qt / Базы данных / Как лучше спроектировать при работе с потоками : Февраль 02, 2017, 12:36
Здравствуйте.
Делаю программу, которая будет работать с mysql в многопоточном режиме, потоков может быть много и 5 и 10 и 100. В каждом потоке будет обращение на чтение/запись к базе.
+ обращение будет из других объектов классов.
Сейчас имеется отдельный класс "mySql" (в нём устанавливается соединение с базой и прописаны все функции с запросами), экземпляр которого создаётся в рабочем классе, объект которого и помещается в поток. Но так же требуется работать с базой в других классах.

Не знаю как правильно спроектировать программу для работы с базой. Правильно ли я сделал или нет? Или лучше использовать 1 соединение (static QSqlDatabase db) на всю программу или это всё мелочи?
27  Qt / Qt Quick / Re: Динамическое увеличение размера окна. : Январь 09, 2017, 18:10
а попробуйте прям сразу прописать в главном окне
Код:
id: root
width: 400
height: root.width
28  Qt / Qt Quick / Не работает Qt.openUrlExternally на Windows Phone 8.1 (Emulator) : Январь 03, 2017, 22:35
Приветствую.
Обнаружил, что на Windows Phone 8.1 (Emulator) не работает Qt.openUrlExternally - ссылка не открывается.
Событие onLinkActivated отлавливается корректно, но ссылка не открывается в браузере. На windows phone 10 работает нормально.

Если кому не трудно попробуйте у себя любую ссылку открыть на эмуляторе Windows Phone 8.1 или 8.0

Код:
Text {
textFormat: Text.RichText
text: "See the <a href=\"http://qt-project.org\">Qt Project website</a>."
onLinkActivated: {
console.log(link + " link activated")
Qt.openUrlExternally("http://ya.ru/")
}
}
29  Qt / Установка, сборка, отладка, тестирование / Re: Не запускается тестовое приложение на эмуляторе : Январь 01, 2017, 20:14
решение: повторный запуск/сборка приложения с уже запущенным эмулятором
30  Qt / Qt Quick / Re: QtCreator QML+JavaScript : Декабрь 27, 2016, 22:00
где то работают, где то нет
Страниц: 1 [2] 3 4

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