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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 [2]
16  Qt / Вопросы новичков / Ошибка QSqlError "2026" : Август 20, 2020, 13:31
Здравствуйте, всем!
Собрал драйвер для mySQL Server 8.0
Версия Qt 5.14.2

Скопировал базу с удаленного сервера через Workbench на localhost и еще один ПК.
Запустил, все заработало. Запросы отправляет, принимает.

Пытаюсь подключиться к основному серверу и получаю ошибку
QSqlError("2026", "QMYSQL: Unable to connect", "SSL connection error: unknown error number")

Пробовал отключать\подключать ssl. На своих ПК подключается и работает.

Код:
   
    //db->setHostName("127.0.0.1");
    db->setDatabaseName("production");
    //db->setPort(3306);
    db->setUserName("root");
    db->setPassword("pass");   
    //db->setConnectOptions("CLIENT_SSL=0;CLIENT_IGNORE_SPACE=0");

    bool ok = db->open();
    if (!ok) {
        QSqlError sqlerr = db->lastError();
        QMessageBox::information(0, "БД не подключена", sqlerr.text());
        qDebug() << sqlerr;
        return;
    }
    db->database();

Прошу помощи.
17  Qt / Вопросы новичков / Re: Назначение пользовательской роли QTableView : Июнь 19, 2020, 16:28
Так добавь в модельку переключатель, по которому в DisplayRole будешь возвращать либо hex, либо dec. А можешь делегата сделать и его настраивать.
При установке данных удобно использовать роли.
Передал роль вместе с индексом и готово. Думал также с отображением можно что-то сделать.
18  Qt / Вопросы новичков / Re: Назначение пользовательской роли QTableView : Июнь 19, 2020, 15:23
Вьюхи работают через Qt::DisplayRole, так что, просто так не переназначить. Скажи, зачем тебе это понадобилось?
Хочу отображать во view байты в hex и dec виде. По кнопке переключать. Самое глупое, что приходит в голову глобальную переменную в класс модели затолкать. Или ещё одну модель использовать.
19  Qt / Вопросы новичков / Назначение пользовательской роли QTableView : Июнь 19, 2020, 14:22
Отображение модели происходит в

Код:
QVariant MyModel::data(const QModelIndex &index, int role) const

Роль
Код:
Qt::DisplayRole
отвечает за отображение.

Возможно ли переназначить роль для отображения и как между ними переключаться?
Например

Код:
 enum Roles {
      ValueRole = Qt::UserRole + 1,     
      ByteRole
    };

и использовать эти роли вместо
Код:
Qt::DisplayRole
20  Qt / Вопросы новичков / Re: TableView одна модель, два представления : Июнь 16, 2020, 06:25
Создал proxy model. Не могу разобраться с индексом.
Как получить значение определенной ячейки?
делаю так в методе data:
Код:
if (role == Qt::DisplayRole) {
        QVariant unswer;
        QModelIndex mi;
        mi = sourceModel()->index(1, 1, proxyIndex);
        unswer = sourceModel()->data(mi, Qt::DisplayRole);
        return unswer;
}
ничего не отображает.
если использовать proxyIndex
Код:
unswer = sourceModel()->data(proxyIndex, Qt::DisplayRole);
то отображает с теми индексами, что и в sourcemodel

что-то с индексом не то..пока не разобрался


А разобрался.
Код:
mi = sourceModel()->index(1, 1);
индекс лишний
21  Qt / Вопросы новичков / Re: TableView одна модель, два представления : Июнь 16, 2020, 06:19
Создал proxy model. Не могу разобраться с индексом.
Как получить значение определенной ячейки?
делаю так в методе data:
Код:
if (role == Qt::DisplayRole) {
        QVariant unswer;
        QModelIndex mi;
        mi = sourceModel()->index(1, 1, proxyIndex);
        unswer = sourceModel()->data(mi, Qt::DisplayRole);
        return unswer;
}
ничего не отображает.
если использовать proxyIndex
Код:
unswer = sourceModel()->data(proxyIndex, Qt::DisplayRole);
то отображает с теми индексами, что и в sourcemodel

что-то с индексом не то..пока не разобрался
22  Qt / Вопросы новичков / TableView одна модель, два представления : Июнь 15, 2020, 12:00
Здравствуйте всем!
Есть model0, которая отображается в TableView1.
Необходимо в другом TableView2 отобразить пересчитанные данные из model0.
например
model0  0 1 2 3 4 5 6 7 8
TableView1
0 1 2
3 4 5
6 7 8

TableView2 отображает сумму соседних ячеек
1   3
7   9
13 15


т.е. должны быть изменены
rowCount
columnCount
headerData
data
setData

Можно ли это реализовать в одной модели model0 ?
23  Qt / Вопросы новичков / Re: Ячейка TableView, как уменьшить ячейку таблицы QTableView : Июнь 09, 2020, 13:49
QHeaderView::minimumSectionSize ?

Вот что получилось:


Код:
ui->TableA0->verticalHeader()->setMinimumSectionSize(5);
ui->TableA0->horizontalHeader()->setMinimumSectionSize(5);

Большое спасибо за помощь!

тема закрыта
24  Qt / Вопросы новичков / Re: Ячейка TableView, как уменьшить ячейку таблицы QTableView : Июнь 09, 2020, 13:23
Если точно известно что "только 2 символа" то посчитайте ширину сами (используя QFontMetrics) и потом QHeaderView::Fixed
Да проблема в том, что есть минимальная ширина столбца, даже если будет один символ. На первой картинке я привел пример минимального размера ячейки.
25  Qt / Вопросы новичков / Re: Ячейка TableView, как уменьшить ячейку таблицы QTableView : Июнь 09, 2020, 13:11
Спасибо, попробую! Но если кто-нибудь знает как убрать отступы, буду рад.
26  Qt / Вопросы новичков / Re: Ячейка TableView, как уменьшить ячейку таблицы QTableView : Июнь 09, 2020, 12:23
Вот что я хочу получить:

Это с уплотненным шрифтом.

Ресайз работает и построчно, и так, как Вы указали. С этим проблем нет.
Я уменьшаю размер окна до тех пор, пока не увижу скроллбары чтобы увидеть минимальный размер таблицы.
Сама ячейка не сжимается больше, даже если ее сжимать по размеру текста двойным щелчком (без использования resizemode).
Пробовал стили CSS менять, безрезультатно.

Код:
QTableView::item
{
  border: 0px;
  padding: 0px;
}
27  Qt / Вопросы новичков / Ячейка TableView, как уменьшить ячейку таблицы QTableView : Июнь 09, 2020, 11:57
Здравствуйте всем! Не могу разобраться, как уменьшить ячейку в QTableView.
картинка

Это минимальный размер таблицы с данными. Как можно заметить строки сжимаются гораздо больше, чем столбцы.
Причем уменьшая размер кегля шрифта, размер ячеек не уменьшается (шрифт header тоже уменьшаю).
Получается уменьшить свободное пространство только подбором уплотненных шрифов.
Как можно минимизировать размеры ячеек, до двух символов?

Растягиваю ячейки следующим образом:
Код:
void ddm::resizeEvent(QResizeEvent *event)
{
  for (int i = 0; i < 16; ++i)
    {
      ui->TableA2->horizontalHeader()->setSectionResizeMode(i, QHeaderView::Stretch);
      ui->TableA2->verticalHeader()->setSectionResizeMode(i, QHeaderView::Stretch);
    }
}
Страниц: 1 [2]

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