Size: a a a

2021 July 10

I

Ivan in Qt
остальное через кастомную отрисовку наверно
источник

МК

Мгер Карапетян... in Qt
гуд 👍
источник

AN

Alexander N in Qt
Я правильно понимаю, что модель при ищменениях грубо говоря оповещает владельца об изменениях чтобы тот обновился?
источник

I

Ivan in Qt
да, там сигнал дергается
источник

AN

Alexander N in Qt
Хмм я вот смотрю модели это чисто под списки, а если я хочу одну модель обновлять просто руками?
источник

R

Ruslan 💥 in Qt
Понял, спасибо за совет
источник

n

novicer in Qt
Добрый день!
Подскажите, пожалуйста: как можно исправить ошибку
QSqlQuery::exec: database not open
- не могу разобраться... ошибка выпадает при попытке создать таблицу в бд sqlite
источник

n

novicer in Qt
если нужен код, то вот он:
QSqlQuery query;
   QString fileName = QFileDialog::getSaveFileName(this, tr("Создание новой базы данных"),
                              "new.db",
                              tr("SQLite3 database files (*.db)"));
   if (fileName == "") return;
    if ( db.isOpen() ) db.close();
   db.setDatabaseName(fileName);
   db.open();
   query.exec("CREATE TABLE 'subs' ('plain' TEXT)");
источник

g

git_gud in Qt
Можешь посмотреть ошибку через
db.lastError()
после
db.open()
. Мб что-то прояснит
источник

n

novicer in Qt
этот код

db.open();
   qDebug() << db.lastError();
   query.exec("CREATE TABLE 'subs' ('plain' TEXT)");
   qDebug() << db.lastError();

выдал не особо информативное:
QSqlError("", "", "")
QSqlQuery::exec: database not open
QSqlError("", "", "")
источник

g

git_gud in Qt
А где ты саму бд создаешь?
источник

n

novicer in Qt
вот тут же во 2ой строке
источник

g

git_gud in Qt
Не, это ты таблицу создаешь. Я про саму переменную
db
источник

n

novicer in Qt
в функции начальной инициализации пишу:
db = QSqlDatabase::addDatabase("QSQLITE", "QSQLITE");

в заголовочном оно объявлено как
QSqlDatabase db;
источник

SK

Serguei Khvatov in Qt
Без указания типа базы, без авторизации и прочего? Что было до этого?
источник

n

novicer in Qt
без. это же sqlite, там ничего и не нужно. или я что-то пропустил?
источник

SK

Serguei Khvatov in Qt
Там нужно имя базы, оно же имя файла где она находится
источник

n

novicer in Qt
так вот же: db.setDatabaseName
источник

g

git_gud in Qt
Путь до бд начинается с
file:/
? Если да, то попробуй вырезать file:/
источник

S

Sergey eSKon in Qt
с какой стати, если он берет его из файлдиалог?
источник