Russian Qt Forum

Qt => Вопросы новичков => Тема начата: yura91 от Июнь 03, 2016, 19:55



Название: ошибки подключения к SQLite
Отправлено: yura91 от Июнь 03, 2016, 19:55
У меня возникает следующая ошибки setGeometryDp: Unable to set geometry 825x959+8+30 on QWidgetWindow/'TaskWindowWindow'. Resulting geometry:  825x750+8+30 (frame: 8, 30, 8, 8, custom margin: 0, 0, 0, 0, minimum size: 709x293, maximum size: 16777215x16777215).

QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

Первая касается размеров виджета. Как можно настроить размеры виджета, чтобы это сообщение ушло? И второе на счет подключения к базе данных
использую функцию
[CPPQT]void DataBase::dataclose()
{
    QString connection;
    connection = db.connectionName();
    db.close();
    db = QSqlDatabase();
    db.removeDatabase(connection);
}[/CPPQT]

Но не знаю в какой момент ее вызывать. Это сообщение выскакивает когдая добавляю запись в БД в виджете AddClient и перехожу в виджет TaskWindow(сразу возникает QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed. ) Как исправить код,чтобы не было этих сообщений?? Можете посмотреть? Я приложил архив с кодом.


Название: Re: ошибки подключения к SQLite
Отправлено: Kurles от Июнь 05, 2016, 00:18
ты в void TaskWindow::on_click() открываешь и не закрываешь соединение с БД.
в конце этого метода вызывай db->dataclose();
Ну и вообще в теории можно один раз в начале работы программы открыть соединение с БД, и в конце работы его закрыть, а не закрывать/открывать на каждый чих. И еще в глаза бросилось куча new и ни одного delete. C C# что ли пришёл? =)


Название: Re: ошибки подключения к SQLite
Отправлено: yura91 от Июнь 05, 2016, 11:16
Я на Java под андроид пишу. А на Qt сервак делаю под винду на котором SQLite используется. А смотри еще такой вопрос, когда ОС Windows переходит в спящий режим то все работающие приложения, все потоки тоже засыпают да? А если у меня работает сервер TCP на Windows, то в спящем режиме он перестанет слушать соединения? А как тогда вывести систему или запретить ей уходить в спящий режим, пока работает сервер? Какие есть средства Qt для этого?


Название: Re: ошибки подключения к SQLite
Отправлено: gil9red от Июнь 05, 2016, 14:22
Я на Java под андроид пишу. А на Qt сервак делаю под винду на котором SQLite используется. А смотри еще такой вопрос, когда ОС Windows переходит в спящий режим то все работающие приложения, все потоки тоже засыпают да? А если у меня работает сервер TCP на Windows, то в спящем режиме он перестанет слушать соединения? А как тогда вывести систему или запретить ей уходить в спящий режим, пока работает сервер? Какие есть средства Qt для этого?

Настроить винду, чтобы не уходила в спящий режим. А если же винда просто разлогинивается, то приложения будут работать


Название: Re: ошибки подключения к SQLite
Отправлено: yura91 от Июнь 06, 2016, 13:34
А если так винду настроить и она не будет уходить в спящий режим то это сильно будет жрать батарею(если на ноуте) и сильно будет нагружать процессор?


Название: Re: ошибки подключения к SQLite
Отправлено: gil9red от Июнь 06, 2016, 13:36
А если так винду настроить и она не будет уходить в спящий режим то это сильно будет жрать батарею(если на ноуте) и сильно будет нагружать процессор?

Это ведь сервер. А если винда уйдет в спящий, сервер станет недоступен


Название: Re: ошибки подключения к SQLite
Отправлено: Kurles от Июнь 06, 2016, 22:04
Я на Java под андроид пишу. А на Qt сервак делаю под винду на котором SQLite используется. А смотри еще такой вопрос, когда ОС Windows переходит в спящий режим то все работающие приложения, все потоки тоже засыпают да? А если у меня работает сервер TCP на Windows, то в спящем режиме он перестанет слушать соединения? А как тогда вывести систему или запретить ей уходить в спящий режим, пока работает сервер? Какие есть средства Qt для этого?
Может стоило и сервак на яве писать? =) Но поводу спящего режима ответили уже, средствами ОС это делается, не Qt.