![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_Sterr_* |
![]()
Сообщение
#1
|
Гости ![]() |
Есть gui приложение работающее с базой. Пытаюсь сделать так, чтобы вся работа с базой была выделена в отдельном потоке. После того как поток запущен ему будет передаваться через сигнал-слот указатель на класс Command, который наследуется остальными классами инкапсулирующими специфику команды. Набросал макет:
CODE
CODE
CODE
Вопросов 2: 1) db =new QSqlDatabase::addDatabase("QPSQL"); не работает =(( Я так понимаю что надо или разименование, или создавать объект? Но ведь для того чтобы он выполнялся в отдельном потоке он должен создаваться в секции run ?? 2) Реально ли реализовать то что здесь описанно, в смысле.. правильном ли путём иду? Тоесть ещё раз если в кратце: два потока - главный gui и поток работы с бд. Например при щелчке по форме с поиском вызывается слот который задаёт в соответствующий класс наследованный от Command нужные значения и высылает сигнал с указателем на этот класс. Этот сигнал соединяется со слотом из потока по работе бд sqlExex, в котором потом вызывается Command.startCommand(QSqlDatabase *db) внутри которого создаётся QSqlQuery и идёт вся работа запроса с базой. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.7.2025, 11:16 |